client/components/mma/holiday/Holiday.stories.tsx (55 lines of code) (raw):
import type { Meta, StoryObj } from '@storybook/react';
import {http, HttpResponse} from 'msw';
import { ReactRouterDecorator } from '@/.storybook/ReactRouterDecorator';
import { PRODUCT_TYPES } from '@/shared/productTypes';
import { existingHolidays } from '../../../fixtures/holidays';
import { toMembersDataApiResponse } from '../../../fixtures/mdapiResponse';
import { guardianWeeklyPaidByCard } from '../../../fixtures/productBuilder/testProducts';
import { HolidayDateChooser } from './HolidayDateChooser';
import { HolidaysOverview } from './HolidaysOverview';
import { HolidayStopsContainer } from './HolidayStopsContainer';
const productTypeWithHolidayStops = {
...PRODUCT_TYPES.guardianweekly,
holidayStops: {
issueKeyword: 'issue',
},
};
export default {
component: HolidayStopsContainer,
title: 'Pages/HolidayStops',
decorators: [ReactRouterDecorator],
parameters: {
reactRouter: {
container: (
<HolidayStopsContainer
productType={productTypeWithHolidayStops}
/>
),
},
},
} as Meta<typeof HolidayStopsContainer>;
export const ManageGuardianWeekly: StoryObj<typeof HolidaysOverview> = {
render: () => {
return <HolidaysOverview />;
},
parameters: {
msw: [
http.get('/api/me/mma', () => {
return HttpResponse.json(toMembersDataApiResponse(guardianWeeklyPaidByCard()))
}),
http.get('/api/holidays/*', () => {
return HttpResponse.json(existingHolidays)
}),
],
},
};
export const CreateGuardianWeekly: StoryObj<typeof HolidayDateChooser> = {
render: () => {
return <HolidayDateChooser />;
},
parameters: {
msw: [
http.get('/api/me/mma', () => {
return HttpResponse.json(toMembersDataApiResponse(guardianWeeklyPaidByCard()))
}),
http.get('/api/holidays/*', () => {
return HttpResponse.json(existingHolidays)
}),
],
},
};