|
2 | 2 | const expect = require('chai').expect;
|
3 | 3 | const sinon = require('sinon');
|
4 | 4 |
|
5 |
| -const os = require('os'); |
| 5 | +const sysinfo = require('systeminformation'); |
6 | 6 | const errors = require('../../../../../lib/errors');
|
7 | 7 |
|
8 | 8 | const modulePath = '../../../../../lib/commands/doctor/checks/check-memory';
|
@@ -34,29 +34,34 @@ describe('Unit: Doctor Checks > Memory', function () {
|
34 | 34 | expect(memCheck.enabled(ctx)).to.be.true;
|
35 | 35 | });
|
36 | 36 |
|
| 37 | + it('uses systeminformation to determine memory availability', function () { |
| 38 | + const memStub = sandbox.stub(sysinfo, 'mem').rejects(new Error('systeminformation')); |
| 39 | + const memCheck = require(modulePath); |
| 40 | + |
| 41 | + return memCheck.task().catch(error => { |
| 42 | + expect(error).to.be.an('error'); |
| 43 | + expect(error.message).to.equal('systeminformation'); |
| 44 | + expect(memStub.calledOnce).to.be.true; |
| 45 | + }); |
| 46 | + }); |
| 47 | + |
37 | 48 | it('fails if not enough memory is available', function () {
|
38 |
| - const osStub = sandbox.stub(os, 'freemem').returns(10); |
| 49 | + const memStub = sandbox.stub(sysinfo, 'mem').resolves({available: 10}); |
39 | 50 | const memCheck = require(modulePath);
|
40 |
| - const ctx = { |
41 |
| - argv: {'check-mem': true} |
42 |
| - }; |
43 | 51 |
|
44 |
| - return memCheck.task(ctx).catch((error) => { |
| 52 | + return memCheck.task().catch((error) => { |
45 | 53 | expect(error).to.be.an.instanceof(errors.SystemError);
|
46 | 54 | expect(error.message).to.match(/MB of memory available for smooth operation/);
|
47 |
| - expect(osStub.calledOnce).to.be.true; |
| 55 | + expect(memStub.calledOnce).to.be.true; |
48 | 56 | });
|
49 | 57 | });
|
50 | 58 |
|
51 | 59 | it('passes if there is enough memory', function () {
|
52 |
| - const osStub = sandbox.stub(os, 'freemem').returns(157286400); |
| 60 | + const memStub = sandbox.stub(sysinfo, 'mem').resolves({available: 157286400}); |
53 | 61 | const memCheck = require(modulePath);
|
54 |
| - const ctx = { |
55 |
| - argv: {'check-mem': true} |
56 |
| - }; |
57 | 62 |
|
58 |
| - return memCheck.task(ctx).then(() => { |
59 |
| - expect(osStub.calledOnce).to.be.true; |
| 63 | + return memCheck.task().then(() => { |
| 64 | + expect(memStub.calledOnce).to.be.true; |
60 | 65 | });
|
61 | 66 | });
|
62 | 67 | });
|
0 commit comments