Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | /* eslint-disable @typescript-eslint/no-explicit-any */
import sinon, {assert, match} from 'sinon';
import {CarColor} from '../car';
import GroupNotificationService, {
GroupCarAction,
} from './group-notification-service';
describe('GroupNotificationService', function() {
afterEach(function() {
sinon.restore();
});
describe('notifyCarUpdate', function() {
const nsp = {
emit: sinon.stub(),
use: sinon.stub(),
on: sinon.stub(),
};
const io = {
of: sinon.stub().returns(nsp),
};
GroupNotificationService.setIo(io as any);
const groupId = 88;
const carId = 4;
const type = GroupCarAction.Drive;
const car = {
name: 'test',
groupId,
carId,
color: CarColor.Blue,
};
GroupNotificationService.notifyCarUpdate(
groupId,
carId,
type,
car as any,
);
assert.calledWithExactly(io.of, /^\/group\/\w+/);
assert.calledWithExactly(io.of, `/group/${groupId}`);
assert.calledTwice(io.of);
assert.calledOnceWithExactly(
nsp.emit,
'update',
match({action: type, car}),
);
});
});
|