import React from 'react'
import { render, screen } from '@testing-library/react'
import { describe, it, beforeEach, vi } from 'vitest'
import { Provider } from 'react-redux'
import { createStore, combineReducers } from 'redux'
import { activityReducer } from '../reducers'
import AppBar from './AppBar'
import config from '../config'
let store
vi.mock('react-admin', () => ({
AppBar: ({ userMenu }) =>
{userMenu}
,
useTranslate: () => (x) => x,
usePermissions: () => ({ permissions: 'admin' }),
getResources: () => [],
}))
vi.mock('./NowPlayingPanel', () => ({
default: () => ,
}))
vi.mock('./ActivityPanel', () => ({
default: () => ,
}))
vi.mock('./PersonalMenu', () => ({
default: () => ,
}))
vi.mock('./UserMenu', () => ({
default: ({ children }) => {children}
,
}))
vi.mock('../dialogs/Dialogs', () => ({
Dialogs: () => ,
}))
vi.mock('../dialogs', () => ({
AboutDialog: () => ,
}))
describe('', () => {
beforeEach(() => {
config.devActivityPanel = true
config.enableNowPlaying = true
store = createStore(combineReducers({ activity: activityReducer }), {
activity: { nowPlayingCount: 0 },
})
})
it('renders NowPlayingPanel when enabled', () => {
render(
,
)
expect(screen.getByTestId('now-playing-panel')).toBeInTheDocument()
})
it('hides NowPlayingPanel when disabled', () => {
config.enableNowPlaying = false
render(
,
)
expect(screen.queryByTestId('now-playing-panel')).toBeNull()
})
})