You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.6 KiB
JavaScript
37 lines
1.6 KiB
JavaScript
const assert = require('node:assert/strict');
|
|
const test = require('node:test');
|
|
|
|
const {
|
|
getProcessingDelay,
|
|
matchesOfficialSyntax
|
|
} = require('../api/ezo-command-service');
|
|
|
|
test('accepts official calibration commands by sensor', () => {
|
|
assert.equal(matchesOfficialSyntax('rtd', 'Cal,25.00'), true);
|
|
assert.equal(matchesOfficialSyntax('ph', 'Cal,mid,7.00'), true);
|
|
assert.equal(matchesOfficialSyntax('ph', 'Cal,low,4.00'), true);
|
|
assert.equal(matchesOfficialSyntax('ph', 'Cal,high,10.00'), true);
|
|
assert.equal(matchesOfficialSyntax('do', 'Cal'), true);
|
|
assert.equal(matchesOfficialSyntax('do', 'Cal,0'), true);
|
|
assert.equal(matchesOfficialSyntax('ec', 'Cal,dry'), true);
|
|
assert.equal(matchesOfficialSyntax('ec', 'Cal,1413'), true);
|
|
assert.equal(matchesOfficialSyntax('ec', 'Cal,low,12880'), true);
|
|
assert.equal(matchesOfficialSyntax('ec', 'Cal,high,80000'), true);
|
|
});
|
|
|
|
test('rejects commands assigned to the wrong sensor', () => {
|
|
assert.equal(matchesOfficialSyntax('do', 'Cal,atm'), false);
|
|
assert.equal(matchesOfficialSyntax('rtd', 'Cal,mid,7'), false);
|
|
assert.equal(matchesOfficialSyntax('ph', 'Cal,dry'), false);
|
|
assert.equal(matchesOfficialSyntax('rtd', 'T,25'), false);
|
|
});
|
|
|
|
test('uses Atlas processing delays for critical commands', () => {
|
|
assert.equal(getProcessingDelay('R'), 1000);
|
|
assert.equal(getProcessingDelay('Cal'), 1300);
|
|
assert.equal(getProcessingDelay('Cal,0'), 1300);
|
|
assert.equal(getProcessingDelay('Cal,mid,7'), 900);
|
|
assert.equal(getProcessingDelay('Cal,dry'), 600);
|
|
assert.equal(getProcessingDelay('Status'), 300);
|
|
});
|