Tengo la siguiente prueba de broma
it("should return props on stage.e.com", async () => { ((savedStoriesService as unknown) as jest.Mock).mockReturnValue({ getStoriesFromList: jest.fn().mockResolvedValue([]), }); const jwt = mockJwt({ custom_attributes: { CustomerType: "Subscribed" }, }); const result = await getServerSideProps(({ req: { headers: { host: <redacted>, authorization: `Bearer ${jwt}`, }, }, } as unknown) as GetServerSidePropsContext); expect(result).toMatchObject({ props: { stories: [], isSubscriber: true, isLapsed: false, }, }); });Obtuve el siguiente error
TypeError: _stories.savedStoriesService.getStoriesFromList is not a function 149 | const parsedJwt = parseJwtFromRequest(ctx.req); 150 | > 151 | const stories = await savedStoriesService.getStoriesFromList( | ^ 152 | ctx.req.headers?.authorization, 153 | { cursor: "" }, 154 | ); Tengo una clase llamada StoriesService así
export class StoriesService { ... public getStoriesFromList = async ( authToken: string, options: GetStoriesOptions, ): Promise<Story[]> => { ... } ... } export const savedStoriesService = new StoriesService();¿Cómo haría para burlarme de esta clase?
puedes simularlo con:
jest.spyOn(savedStoriesService, 'getStoriesFromList').mockResolvedValueOnce(<the value that you want to return>)