Select Git revision
XtaClient.java
-
Jan Zickermann authoredJan Zickermann authored
command.effects.spec.ts 17.09 KiB
import {
ApiError,
ApiErrorAction,
EMPTY_STRING,
TypedActionCreatorWithProps,
} from '@alfa-client/tech-shared';
import { Mock, mock } from '@alfa-client/test-utils';
import { SnackBarService } from '@alfa-client/ui';
import { TestBed } from '@angular/core/testing';
import { provideMockActions } from '@ngrx/effects/testing';
import { Action, Store, createAction, props } from '@ngrx/store';
import { TypedAction } from '@ngrx/store/src/models';
import { provideMockStore } from '@ngrx/store/testing';
import { Resource } from '@ngxp/rest';
import { cold, hot } from 'jest-marbles';
import { ColdObservable } from 'jest-marbles/typings/src/rxjs/cold-observable';
import {
createCommandListResource,
createCommandResource,
createCreateCommandProps,
} from 'libs/command-shared/test/command';
import { createApiError } from 'libs/tech-shared/test/error';
import { Observable, of } from 'rxjs';
import { TestScheduler } from 'rxjs/testing';
import { CommandLinkRel } from '../command.linkrel';
import { CREATE_COMMAND_MESSAGE_BY_ORDER, CommandErrorMessage } from '../command.message';
import { CommandListResource, CommandResource, CreateCommandProps } from '../command.model';
import { CommandRepository } from '../command.repository';
import {
CommandProps,
LoadCommandListSuccessProps,
SnackBarProps,
createCommandFailure,
} from './command.actions';
import { CommandEffects } from './command.effects';
import * as CommandActions from './command.actions';
describe('CommandEffects', () => {
let actions: Observable<Action>;
let effects: CommandEffects;
let repository: Mock<CommandRepository>;
let snackBarService: Mock<SnackBarService>;
let store: Mock<Store>;
let testScheduler: TestScheduler;
beforeEach(() => {
repository = mock(CommandRepository);
snackBarService = mock(SnackBarService);
store = mock(Store);
testScheduler = new TestScheduler((actual, expected) => expect(actual).toEqual(expected));
TestBed.configureTestingModule({
providers: [
CommandEffects,
provideMockActions(() => actions),
provideMockStore(),
{
provide: CommandRepository,
useValue: repository,
},
{
provide: SnackBarService,
useValue: snackBarService,
},
{
provide: Store,