Files
madbase/control-plane-ui/tests/integration/templates.test.tsx
Vlad Durnea cffdf8af86
Some checks failed
CI/CD Pipeline / unit-tests (push) Failing after 1m16s
CI/CD Pipeline / integration-tests (push) Failing after 2m32s
CI/CD Pipeline / lint (push) Successful in 5m22s
CI/CD Pipeline / e2e-tests (push) Has been skipped
CI/CD Pipeline / build (push) Has been skipped
wip:milestone 0 fixes
2026-03-15 12:35:42 +02:00

41 lines
1.3 KiB
TypeScript

import { describe, it, expect, beforeAll, afterEach, afterAll } from 'vitest'
import { render, screen, waitFor } from '@testing-library/react'
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
import { BrowserRouter } from 'react-router-dom'
import React from 'react'
import { http, HttpResponse } from 'msw'
import { setupServer } from 'msw/node'
const handlers = [
http.get('/api/v1/templates', () => HttpResponse.json({
templates: [
{ id: 'worker', name: 'Worker', description: 'Worker node', min_hetzner_plan: 'cx22', estimated_monthly_cost: 10, services: [], requirements: { min_nodes: 1, max_nodes: 10, supports_ha: false } }
]
})),
]
const server = setupServer(...handlers)
beforeAll(() => server.listen())
afterEach(() => server.resetHandlers())
afterAll(() => server.close())
const queryClient = new QueryClient({ defaultOptions: { queries: { retry: false } } })
describe('Templates', () => {
it('renders without crashing', async () => {
const { default: Templates } = await import('../../src/pages/Templates')
render(
<QueryClientProvider client={queryClient}>
<BrowserRouter>
<Templates />
</BrowserRouter>
</QueryClientProvider>
)
await waitFor(() => {
expect(screen.getByText('Templates')).toBeInTheDocument()
})
})
})