Skip to content
Snippets Groups Projects

Resolve "Continue tests integration"

Merged Tifenn Guillas requested to merge 117-continue-tests-integration into develop
Files
12
+ 60
0
 
import { ComponentFixture, TestBed, async } from '@angular/core/testing';
 
import { provideMockStore, MockStore } from '@ngrx/store/testing';
 
import { Component, Input } from '@angular/core';
 
import { RouterTestingModule } from '@angular/router/testing';
 
 
import { AppComponent } from './app.component';
 
import * as fromLogin from '../../login/store/login.reducer';
 
import * as loginActions from '../../login/store/login.action';
 
import { LoginToken } from "../../login/store/model";
 
 
describe('[Search] Container: AppComponent', () => {
 
@Component({ selector: 'app-nav', template: '' })
 
class NavStubComponent {
 
@Input() isAuthenticated: boolean;
 
@Input() loginToken: LoginToken;
 
}
 
 
let component: AppComponent;
 
let fixture: ComponentFixture<AppComponent>;
 
let store: MockStore;
 
const initialState = {
 
login: { ...fromLogin.initialState }
 
};
 
 
beforeEach(async(() => {
 
TestBed.configureTestingModule({
 
imports: [RouterTestingModule],
 
declarations: [
 
AppComponent,
 
NavStubComponent
 
],
 
providers: [
 
provideMockStore({ initialState })
 
]
 
});
 
fixture = TestBed.createComponent(AppComponent);
 
component = fixture.componentInstance;
 
store = TestBed.inject(MockStore);
 
}));
 
 
it('should create the component', () => {
 
expect(component).toBeTruthy();
 
});
 
 
it('should execute ngOnInit lifecycle', () => {
 
const loginLocalStorageAction = new loginActions.LoginLocalStorageAction();
 
const spy = spyOn(store, 'dispatch');
 
component.ngOnInit();
 
expect(spy).toHaveBeenCalledTimes(1);
 
expect(spy).toHaveBeenCalledWith(loginLocalStorageAction);
 
});
 
 
it('#logout() should dispatch LogoutAction', () => {
 
const logoutAction = new loginActions.LogoutAction();
 
const spy = spyOn(store, 'dispatch');
 
component.logout();
 
expect(spy).toHaveBeenCalledTimes(1);
 
expect(spy).toHaveBeenCalledWith(logoutAction);
 
});
 
});
Loading