import drawerReducer from '@/redux/drawer/drawer.slice';
import type { DrawerState } from '@/redux/drawer/drawer.types';
import { ToolkitStoreWithSingleSlice } from '@/utils/createStoreInstanceUsingSliceReducer';
import { getReduxWrapperUsingSliceReducer } from '@/utils/testing/getReduxWrapperUsingSliceReducer';
import { render, screen } from '@testing-library/react';
import { NavBar } from './NavBar.component';

const renderComponent = (): { store: ToolkitStoreWithSingleSlice<DrawerState> } => {
  const { Wrapper, store } = getReduxWrapperUsingSliceReducer('drawer', drawerReducer);

  return (
    render(
      <Wrapper>
        <NavBar />
      </Wrapper>,
    ),
    {
      store,
    }
  );
};

describe('NavBar - component', () => {
  it('Should contain navigation buttons and logos with powered by info', () => {
    renderComponent();

    expect(screen.getByTestId('nav-buttons')).toBeInTheDocument();
    expect(screen.getByTestId('nav-logos-and-powered-by')).toBeInTheDocument();
    expect(screen.getByAltText('luxembourg logo')).toBeInTheDocument();
    expect(screen.getByAltText('logo')).toBeInTheDocument();
  });
});