Я создаю систему сборника рассказов для макета историй для компонента, который я пишу. Одна из историй, которую я хочу смоделировать, - это где ошибки сервиса. У меня есть тесты жасмина, которые охватывают это, но я хочу, чтобы история работала над элементами пользовательского интерфейса. Проблема в том, что я не могу найти хороший способ настроить свои истории так, чтобы я мог изменить свой внедренный сервисный макет так, чтобы он выдавал ошибку.
Story
import { moduleMetadata } from '@storybook/angular';
import { IsmModule } from '../../projects/ism-incident-manager/src/app/ism.module';
import { ISMIncidentManagementService } from 'projects/ism-incident-manager/src/app/service/ism-incident-management.service';
import { MockISMIncidentManagementService } from 'src/app/mocks/mock-ism-incident-management.service';
const template: string = `<app-ism-incident-manager></app-ism-incident-manager>`;
const ismService = new MockISMIncidentManagementService();
export default {
title: 'ISM/Create',
decorators: [
moduleMetadata({
imports: [IsmModule],
providers: [{ provide: ISMIncidentManagementService, useValue: ismService}]
}),
story => ({
...story(),
template: `<div style="width: 400px;padding: 20px;">${story().template}</div>`
})
]
}
export const CreateIncident = () => ({
template: template
});
//I want this story to error, how?
export const Error = () => ({
template: template
});
поэтому в приведенном выше примере мне нужно как-то сказать введенному ismService
, что в Error
он должен делать что-то другое, чем в CreateIncident
(Счастливый путь) , Так как мне это сделать?