Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
it('should log out any user', fakeAsync(() => {
const env = new TestEnvironment();
env.fixture.detectChanges();
// ensure that ngOnInit completes, then detect changes again
flush();
env.fixture.detectChanges();
verify(env.mockedAuthService.logOutNoRedirect()).once();
expect().nothing();
}));
it('should create and return a new ellipse primitive.', inject([StaticEllipseDrawerService], (service: StaticEllipseDrawerService) => {
const ellipsePrimitive = service.add(geometryProps, instanceProps, primitiveProps);
verify(primitiveCollection.add(anything())).once();
expect(ellipsePrimitive).toBeDefined();
}));
it('should emit updateUserProfile event if form is valid', () => {
const eventEmitter$ = spy(component.updateUserProfile);
component.countryCode = 'US';
component.currentUser = { firstName: 'Patricia', lastName: 'Miller' } as User;
fixture.detectChanges();
component.submit();
verify(eventEmitter$.emit(anything())).once();
});
it('should submit when form is valid', fakeAsync(() => {
const emailAddress = 'me@example.com';
const env = new TestEnvironment();
env.fixture.detectChanges();
env.setTextFieldValue(env.emailInput, emailAddress);
expect(env.component.sendInviteForm.dirty).toBe(true);
expect(env.component.sendInviteForm.valid).toBe(true);
expect(env.component.email.hasError('required')).toBe(false);
expect(env.component.email.hasError('pattern')).toBe(false);
expect(env.component.email.hasError('email')).toBe(false);
env.clickElement(env.sendInviteButton);
env.clickElement(env.closeButton);
verify(mockedProjectService.onlineInvite(emailAddress)).once();
flush();
const message = 'An invitation email has been sent to ' + emailAddress + '.';
verify(mockedNoticeService.show(message)).once();
}));
});
it('select blank segment', fakeAsync(() => {
const env = new TestEnvironment();
env.setTranslateConfig({ selectedTextRef: 'text01', selectedChapter: 1, selectedSegment: 'verse_1_1' });
env.waitForSuggestion();
expect(env.component.target.segmentRef).toBe('verse_1_1');
resetCalls(env.mockedRemoteTranslationEngine);
const range = env.component.target.getSegmentRange('verse_1_2');
env.component.target.editor.setSelection(range.index + 1, 0, 'user');
env.waitForSuggestion();
expect(env.component.target.segmentRef).toBe('verse_1_2');
const selection = env.component.target.editor.getSelection();
expect(selection.index).toBe(30);
expect(selection.length).toBe(0);
expect(env.component.translateUserConfig.selectedSegment).toBe('verse_1_2');
verify(env.mockedSFProjectUserService.update(anything())).once();
verify(env.mockedRemoteTranslationEngine.translateInteractively(1, anything())).once();
expect(env.component.showSuggestion).toBe(true);
expect(env.component.suggestionWords).toEqual(['target']);
env.dispose();
}));
it('should remove linked paratext account', fakeAsync(() => {
env.setParatextUsername('Johnny Paratext');
env.fixture.detectChanges();
expect(env.unlinkParatextButton.nativeElement.textContent).toContain('Remove link');
env.clickButton(env.unlinkParatextButton);
verify(env.mockedUserService.onlineUnlinkParatextAccount()).once();
expect(env.paratextLinkLabel).toBeNull();
expect(env.connectParatextButton.nativeElement.textContent).toContain('Connect to Paratext');
}));
it('navigate to first project when no last project set', fakeAsync(() => {
const env = new TestEnvironment();
env.setCurrentProjectId();
env.setProjectData();
env.fixture.detectChanges();
flush();
verify(env.mockedRouter.navigate(deepEqual(['./', 'project01']), anything())).once();
expect().nothing();
}));
effects.addPromotionCodeToBasket$.subscribe(() => {
verify(basketServiceMock.addPromotionCodeToBasket('BID', 'CODE')).once();
done();
});
});
effects.loadQuoteRequests$.subscribe(() => {
verify(quoteRequestServiceMock.getQuoteRequests()).once();
done();
});
});
effects.loadUserByAPIToken$.subscribe(action => {
verify(userServiceMock.signinUserByToken('dummy')).once();
expect(action).toMatchInlineSnapshot(`
[Account API] Login User Success:
user: {"email":"test@intershop.de"}
`);
done();
});
});