M7-T06: add meter management UI (timeline, declare swap, edit) to Energy view
This commit is contained in:
@@ -381,6 +381,44 @@ describe('EnergyPage — test-read', () => {
|
||||
})
|
||||
})
|
||||
|
||||
describe('EnergyPage — meters tab', () => {
|
||||
beforeEach(() => {
|
||||
vi.clearAllMocks()
|
||||
setupDefaultMocks()
|
||||
})
|
||||
|
||||
it('renders Meters tab in the tab list', async () => {
|
||||
renderEnergy()
|
||||
|
||||
await waitFor(() => {
|
||||
expect(screen.getByTestId('tab-meters')).toBeInTheDocument()
|
||||
})
|
||||
expect(screen.getByTestId('tab-meters').textContent).toContain('Meters')
|
||||
})
|
||||
|
||||
it('renders meters panel when Meters tab is clicked', async () => {
|
||||
mockGet.mockImplementation((path: string) => {
|
||||
if (path === '/api/modbus/devices') {
|
||||
return Promise.resolve({ data: { items: [DEVICE], total: 1 } })
|
||||
}
|
||||
if (path === '/api/energy/meters') {
|
||||
return Promise.resolve({ data: { items: [], total: 0 } })
|
||||
}
|
||||
return Promise.resolve({ data: null })
|
||||
})
|
||||
|
||||
renderEnergy()
|
||||
|
||||
await waitFor(() => expect(screen.getByTestId('tab-meters')).toBeInTheDocument())
|
||||
|
||||
fireEvent.click(screen.getByTestId('tab-meters'))
|
||||
|
||||
await waitFor(() => {
|
||||
expect(screen.getByTestId('panel-meters')).toBeInTheDocument()
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
describe('EnergyPage — auto-refresh switch', () => {
|
||||
beforeEach(() => {
|
||||
vi.clearAllMocks()
|
||||
|
||||
Reference in New Issue
Block a user