Browse Source

test(tenant-management): add missing test for state service

pull/2431/head
TheDiaval 7 years ago
parent
commit
e875433a57
  1. 24
      npm/ng-packs/packages/tenant-management/src/lib/tests/tenant-management-state.service.spec.ts

24
npm/ng-packs/packages/tenant-management/src/lib/tests/tenant-management-state.service.spec.ts

@ -2,12 +2,17 @@ import { createServiceFactory, SpectatorService, SpyObject } from '@ngneat/spect
import { TenantManagementStateService } from '../services/tenant-management-state.service'; import { TenantManagementStateService } from '../services/tenant-management-state.service';
import { TenantManagementState } from '../states/tenant-management.state'; import { TenantManagementState } from '../states/tenant-management.state';
import { Store } from '@ngxs/store'; import { Store } from '@ngxs/store';
import * as TenantManagementActions from '../actions';
describe('TenantManagementStateService', () => { describe('TenantManagementStateService', () => {
let service: TenantManagementStateService; let service: TenantManagementStateService;
let spectator: SpectatorService<TenantManagementStateService>; let spectator: SpectatorService<TenantManagementStateService>;
let store: SpyObject<Store>; let store: SpyObject<Store>;
const createService = createServiceFactory({ service: TenantManagementStateService, mocks: [Store] }); const createService = createServiceFactory({
service: TenantManagementStateService,
mocks: [Store],
});
beforeEach(() => { beforeEach(() => {
spectator = createService(); spectator = createService();
service = spectator.service; service = spectator.service;
@ -36,4 +41,21 @@ describe('TenantManagementStateService', () => {
} }
}); });
}); });
test('should have a dispatch method for every TenantManagementState action', () => {
const reg = /(?<=dispatch)(\w+)(?=\()/gm;
TenantManagementStateService.toString()
.match(reg)
.forEach(fnName => {
expect(TenantManagementActions[fnName]).toBeTruthy();
const spy = jest.spyOn(store, 'dispatch');
spy.mockClear();
const params = Array.from(new Array(TenantManagementActions[fnName].length));
service[`dispatch${fnName}`](...params);
expect(spy).toHaveBeenCalledWith(new TenantManagementActions[fnName](...params));
});
});
}); });

Loading…
Cancel
Save