Skip to content

Commit

Permalink
fixing store mocking
Browse files Browse the repository at this point in the history
  • Loading branch information
Pierre Rochard committed Sep 29, 2017
1 parent 353969c commit 97cfa6b
Show file tree
Hide file tree
Showing 4 changed files with 64 additions and 79 deletions.
31 changes: 31 additions & 0 deletions mock_data/form/login.form.mock.json
@@ -0,0 +1,31 @@
{
"schemaName": "auth",
"formName": "login",
"formSettings": {
"id": 1,
"custom_name": "Login",
"form_name": "login",
"schema_name": "auth",
"user_id": "4bbed106-90a6-4371-91c9-c074f3cdf4bb"
},
"fieldSettings": [
{
"id": 1,
"custom_name": "Email",
"field_name": "email",
"field_type": "text",
"form_name": "login",
"schema_name": "auth",
"user_id": "4bbed106-90a6-4371-91c9-c074f3cdf4bb"
},
{
"id": 2,
"custom_name": "Password",
"field_name": "password",
"field_type": "text",
"form_name": "login",
"schema_name": "auth",
"user_id": "4bbed106-90a6-4371-91c9-c074f3cdf4bb"
}
]
}
25 changes: 0 additions & 25 deletions mock_data/form/login.router.action.mock.json

This file was deleted.

13 changes: 13 additions & 0 deletions mock_data/form/login.router.mock.json
@@ -0,0 +1,13 @@
{
"state": {
"url": "/auth/rpc/login",
"queryParams": {},
"params": {
"selectedObjectName": "login",
"selectedSchemaName": "auth",
"selectedObjectType": "form"
}
},
"navigationId": 1
}

74 changes: 20 additions & 54 deletions src/app/form/form.container.spec.ts
@@ -1,59 +1,33 @@
import { DebugElement } from '@angular/core';
import { CommonModule } from '@angular/common';
import { ReactiveFormsModule } from '@angular/forms';
import { RouterStateSnapshot } from '@angular/router';
import {
async,
ComponentFixture,
TestBed,
} from '@angular/core/testing';
import { tick } from '@angular/core/testing';
import { RouterTestingModule } from '@angular/router/testing';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';

import 'rxjs/add/operator/filter';
import 'rxjs/add/operator/map';
import 'rxjs/add/observable/of';
import 'rxjs/add/operator/takeUntil';

import { RouterNavigationAction } from '@ngrx/router-store';
import { Store, StoreModule } from '@ngrx/store';
import { RouterReducerState } from '@ngrx/router-store';

import { ButtonModule } from 'primeng/components/button/button';
import { FieldsetModule } from 'primeng/components/fieldset/fieldset';
import { InputTextModule } from 'primeng/components/inputtext/inputtext';
import { PasswordModule } from 'primeng/components/password/password';

import { AppState, metaReducers, reducers } from '../app.reducers';
import { AppState, reducers } from '../app.reducers';
import { RouterStateUrl } from 'app/router/router.serializer';

import { ReceiveFormSettingsAction } from './form.actions';
import { FormContainer } from './form.container';
import { FormComponent } from './form.component';
import { FormElementComponent } from './form-element.component';
import { FormService } from './form.service';
import { Go } from '../router/router.actions';
import { RouterEffects } from '../router/router.effects';
import { EffectsModule } from '@ngrx/effects';
import { RouterTestingModule } from '@angular/router/testing';
import { routing } from '../app.routing';
import { HomeContainer } from '../home/home.container';
import { TableContainer } from '../table/table.container';
import { AppFormModule } from './form.module';
import { AppTableModule } from '../table/table.module';
import { Observable } from 'rxjs/Observable';
import { RouteParams } from '../router/router.models';

const loginRouterActionMockData: RouterStateSnapshot = require('../../../mock_data/form/login.router.action.mock.json');

export class DataStub {
public static get(): Observable<RouteParams> {
return Observable.of({
'selectedObjectName': 'login',
'selectedSchemaName': 'auth',
'selectedObjectType': 'form',
});
}
}
import { FormState } from './form.reducers';

const routerMockData: RouterReducerState<RouterStateUrl> = require('../../../mock_data/form/login.router.mock.json');
const formMockData: FormState = require('../../../mock_data/form/login.form.mock.json');


xdescribe('Component: FormContainer', () => {
fdescribe('Component: FormContainer', () => {

let component: FormContainer;
let fixture: ComponentFixture<FormContainer>;
Expand All @@ -62,36 +36,28 @@ xdescribe('Component: FormContainer', () => {

let store: Store<AppState>;


const form_settings_data = [{
id: 1,
custom_name: 'Login',
form_name: 'login',
schema_name: 'auth',
user_id: '4bbed106-90a6-4371-91c9-c074f3cdf4bb',
}];

beforeEach(async(() => {
const testBed = TestBed.configureTestingModule({
declarations: [
],
declarations: [],
imports: [
AppFormModule,
StoreModule.forRoot(reducers, {metaReducers: metaReducers}),
StoreModule.forRoot(reducers, {
initialState: {
form: formMockData,
routerReducer: routerMockData,
table: null,
},
}),
RouterTestingModule,
BrowserAnimationsModule,
EffectsModule.forRoot([RouterEffects]),
],
providers: [
FormService,

],
});
testBed.compileComponents();
store = testBed.get(Store);
spyOn(store, 'dispatch').and.callThrough();
const action = new ReceiveFormSettingsAction(form_settings_data);
store.dispatch(action);
}));

beforeEach(() => {
Expand All @@ -107,7 +73,7 @@ xdescribe('Component: FormContainer', () => {
it('will subscribe to formSettings$', () => {

component.formSettings$.subscribe(data => {
expect(data).toBe(form_settings_data[0]);
expect(data).toEqual(formMockData.formSettings);
});
});

Expand Down

0 comments on commit 97cfa6b

Please sign in to comment.