@armor/create-armor-ui
Version:
A CLI tool for generating Armor UI apps.
54 lines (43 loc) • 1.41 kB
text/typescript
import { TEST_UTILITIES } from '@armor/testing';
import { HelloArmorComponent } from './hello-armor.component';
import { ApiService, LoginRedirectService } from '@armor/api';
import { LocalStorageService } from '@armor/platform-browser';
describe('SecurityHelpPopoverLinkComponent', () => {
let component: HelloArmorComponent;
let apiService: ApiService;
const initComponent = () => {
component = new HelloArmorComponent(apiService);
};
const fakeObservable = (returnVal) => {
return {
subscribe: (fn) => {
return fn(returnVal);
}
};
};
beforeEach(() => {
TEST_UTILITIES.initTestBed([], [
ApiService,
LocalStorageService,
LoginRedirectService
]);
apiService = TEST_UTILITIES.getInjectable(ApiService);
});
describe('ngOnInit', () => {
const fakeMeData = {
user: 'test.user@fake.com',
accounts: [1, 2, 3]
};
it('should call apiService.get(\'me\') as set local vars', () => {
initComponent();
spyOn(apiService, 'get').and.callFake(() => {
return fakeObservable(fakeMeData);
});
component.ngOnInit();
expect(apiService.get).toHaveBeenCalledTimes(1);
expect(apiService.get).toHaveBeenCalledWith('me');
expect(component.user).toEqual(fakeMeData.user as any);
expect(component.accounts).toEqual(fakeMeData.accounts as any);
});
});
});