mirror of
https://github.com/supabase/supabase.git
synced 2026-10-15 22:29:11 +03:00
* fix logs previewer and msw * refactor api mocking for better dx * update readme * comment out error handler for vitest * rm unnecessary tests * fix custom render nuqs type * add logs search test * rm unnecessary import * update readme with customRender and customRednerHook * rm unnecessary api handler * Move the NODE_ENV to the studio build command in turbo.json. * Update apps/studio/tests/README.md Co-authored-by: Joshen Lim <joshenlimek@gmail.com> * add cursor rule --------- Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com> Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
35 lines
1.3 KiB
TypeScript
35 lines
1.3 KiB
TypeScript
import { screen } from '@testing-library/react'
|
|
import { beforeAll, test, vi } from 'vitest'
|
|
|
|
import { ApiReport } from 'pages/project/[ref]/reports/api-overview'
|
|
import { render } from 'tests/helpers'
|
|
|
|
// [Joshen] Mock data for ApiReport is in __mocks__/hooks/useApiReport
|
|
// I don't think this is an ideal set up as the mock data is not clear in this file itself
|
|
// But this is the method that worked for me after hours of wrangling with jest.spyOn and jest.mock
|
|
// which for some reason none of them worked when I was trying to mock the data within the file itself
|
|
// I'd be keen to see how we can do this better if anyone is more familiar to jest 🙏
|
|
|
|
beforeAll(() => {
|
|
vi.mock('nuqs', async () => {
|
|
let queryValue = 'example'
|
|
return {
|
|
useQueryState: () => [queryValue, (v: string) => (queryValue = v)],
|
|
parseAsBoolean: {
|
|
withDefault: () => true,
|
|
},
|
|
}
|
|
})
|
|
})
|
|
|
|
test(`Render static elements`, async () => {
|
|
render(<ApiReport dehydratedState={{}} />)
|
|
await screen.findByText('Total Requests')
|
|
await screen.findByText('Response Errors')
|
|
await screen.findByText('Response Speed')
|
|
await screen.findByText('Network Traffic')
|
|
await screen.findByText(/Last 10 minutes/)
|
|
await screen.findByText(/Add filter/)
|
|
await screen.findByText(/All Requests/)
|
|
})
|