import React from 'react';
import { render, screen } from '@testing-library/react';
import AccountIcon from '../account-icon';

describe('AccountIcon', () => {
    it('renders an image', () => {
        render(<AccountIcon brandName="theorchard" />);
        expect(screen.getByRole('img')).toBeInTheDocument();
    });

    it('does not render when unsupported brandName passed', () => {
        render(<AccountIcon brandName="nope" />);
        expect(screen.queryByRole('img')).not.toBeInTheDocument();
    });

    it('renders Orchard icon for orchard brand', () => {
        render(<AccountIcon brandName="theorchard" />);
        expect(screen.getByTestId('OrchardBrandIcon')).toBeInTheDocument();
    });

    it('renders Orchard icon for hrs brand', () => {
        render(<AccountIcon brandName="hrs" />);
        expect(screen.getByTestId('OrchardBrandIcon')).toBeInTheDocument();
    });

    it('renders Awal icon for awal brand', () => {
        render(<AccountIcon brandName="awal" />);
        expect(screen.getByTestId('AwalBrandIcon')).toBeInTheDocument();
    });

    it('renders Ab icon for ab brand', () => {
        render(<AccountIcon brandName="ab" />);
        expect(screen.getByTestId('AbBrandIcon')).toBeInTheDocument();
    });

    it('renders Msk icon for msk brand', () => {
        render(<AccountIcon brandName="msk" />);
        expect(screen.getByTestId('MskBrandIcon')).toBeInTheDocument();
    });

    it('renders Ma icon for ma brand', () => {
        render(<AccountIcon brandName="ma" />);
        expect(screen.getByTestId('MaBrandIcon')).toBeInTheDocument();
    });

    it('renders Drm icon for drm brand', () => {
        render(<AccountIcon brandName="drm" />);
        expect(screen.getByTestId('DrmBrandIcon')).toBeInTheDocument();
    });

    it('renders Knr icon for knr brand', () => {
        render(<AccountIcon brandName="knr" />);
        expect(screen.getByTestId('KnrBrandIcon')).toBeInTheDocument();
    });

    it('renders Altafonte icon for altafonte brand', () => {
        render(<AccountIcon brandName="altafonte" />);
        expect(screen.getByTestId('AltafonteBrandIcon')).toBeInTheDocument();
    });

    it('renders KNR icon for knr brand', () => {
        render(<AccountIcon brandName="knr" />);
        expect(screen.getByTestId('KnrBrandIcon')).toBeInTheDocument();
    });

    it('renders Sme icon for sme brand', () => {
        render(<AccountIcon brandName="sme" />);
        expect(screen.getByTestId('SmeBrandIcon')).toBeInTheDocument();
    });
});
