client/components/mma/cancel/cancellationSaves/CancellationLanding.stories.tsx (65 lines of code) (raw):
import type { Meta, StoryObj } from '@storybook/react';
import {http, HttpResponse} from 'msw';
import { ReactRouterDecorator } from '@/.storybook/ReactRouterDecorator';
import { toMembersDataApiResponse } from '@/client/fixtures/mdapiResponse';
import {
digitalPackPaidByDirectDebit,
membershipSupporterCurrencyUSD,
} from '@/client/fixtures/productBuilder/testProducts';
import { PRODUCT_TYPES } from '@/shared/productTypes';
import { CancellationContainer } from '../CancellationContainer';
import { CancellationLanding } from './CancellationLanding';
export default {
title: 'Pages/CancellationLanding',
component: CancellationContainer,
decorators: [ReactRouterDecorator],
parameters: {
layout: 'fullscreen',
},
} as Meta<typeof CancellationContainer>;
export const Membership: StoryObj<typeof CancellationLanding> = {
render: () => {
return <CancellationLanding />;
},
parameters: {
reactRouter: {
state: {
productDetail: membershipSupporterCurrencyUSD(),
user: { email: 'test@test.com' },
},
container: (
<CancellationContainer productType={PRODUCT_TYPES.membership} />
),
},
msw: [
http.get('/api/me/mma', () => {
return HttpResponse.json(toMembersDataApiResponse(
membershipSupporterCurrencyUSD(),
))
}),
],
},
};
export const DigiPack: StoryObj<typeof CancellationLanding> = {
render: () => {
return <CancellationLanding />;
},
parameters: {
reactRouter: {
state: {
productDetail: digitalPackPaidByDirectDebit(),
user: { email: 'test@test.com' },
},
container: (
<CancellationContainer productType={PRODUCT_TYPES.digipack} />
),
},
msw: [
http.get('/api/me/mma', () => {
return HttpResponse.json(toMembersDataApiResponse(
digitalPackPaidByDirectDebit(),
))
}),
],
},
};