Я пытаюсь создать пиццу $, которую получают из магазина, а затем отображать эти данные.
Затем я помещаю эти данные о пицце в сетку, и все выглядит хорошо.
full код
import { Store } from '@ngrx/store';
import { ProductesState } from '../shared/models/productesState.model';
import { Observable } from 'rxjs';
import { PizzaState } from '../shared/models/pizzaState.model';
@Component({
selector: 'app-read',
templateUrl: './read.component.html',
styleUrls: ['./read.component.css']
})
export class ReadComponent {
public pizzas$: Observable<PizzaState>;
private readonly store;
constructor(private readonly pizzaStore: Store<any>) {
this.store = pizzaStore;
this.getPizzaData();
}
public getPizzaData() {
this.pizzas$ = this.store.select('pizzas');
}
}
Как бы я go о тестировании этого компонента? Я попробовал следующий шутник, но он не прошел с ошибкой
this.store.select is not a function
код теста
import { PizzaModel} from '../models/pizza-model';
import { createFakePizza } from '../test-utils/fake-pizza-helper';
let entityAdapter: EntityAdapter<PizzaModel>;
let initialEntityState: EntityState<PizzaModel>;
let store: any;
...
beforeAll(() => {
entityAdapter = createEntityAdapter<PizzaModel>();
initialEntityState = entityAdapter.getInitialState();
});
describe('getAllPizzas' () => {
it('should return all pizzas' () => {
// Arrange
const fakePizza = [createFakePizza(), createFakePizza()];
const entityState = entityAdapter.addAll(fakePizza, intialEntityState);
store = {
entity: entityState.entities,
};
// Act
const res = new ReadComponent(store);
res.getPizzaData();
//Assert
expect(res.pizzas$).toEqual(fakePizza);
}
}
Я получаю следующую ошибку
TypeError: this.store.select is not a function
Пожалуйста, помогите. спасибо =)