/* eslint-disable no-multi-assign */
import React from 'react';
import { render, cleanup, fireEvent } from '@testing-library/react';
import '@testing-library/jest-dom/extend-expect';
import getPaymentData from '../../../../../../../tests/factories/pages/payment.factory';
import TemplateOneThree from '.';

describe('Payment template one three component', () => {
  const data = getPaymentData();

  test('Template One Status Active', () => {
    const { container, queryByText } = render(<TemplateOneThree {...data} />);
    expect(queryByText('Next')).toBeInTheDocument();
    expect(container.querySelectorAll('h1')).toHaveLength(1);
    expect(queryByText('20 Free Spins No Deposit Bonus')).toBeInTheDocument();
    expect(queryByText('+ 300% & 555 Spins Welcome Bonus')).toBeInTheDocument();
    expect(queryByText('Visit')).toBeInTheDocument();
    expect(container.querySelectorAll('a')).toHaveLength(1);
    expect(container.getElementsByClassName('desc')).toHaveLength(1);
    expect(container.querySelectorAll('li')).toHaveLength(4);
    expect(container.getElementsByClassName('open').length).toEqual(0);
    const description = container.querySelector('.desc');
    fireEvent.click(description);

    expect(container.getElementsByClassName('open').length).toEqual(1);
  });

  test('Template Three Status Active', () => {
    const { container, queryByText } = render(
      <TemplateOneThree {...data} template="template_three" />
    );
    expect(queryByText('Next')).toBeInTheDocument();
    expect(container.querySelectorAll('h1')).toHaveLength(1);
    expect(queryByText('20 Free Spins No Deposit Bonus')).toBeInTheDocument();
    expect(queryByText('+ 300% & 555 Spins Welcome Bonus')).toBeInTheDocument();
    expect(queryByText('Visit')).toBeInTheDocument();
    expect(container.querySelectorAll('a')).toHaveLength(1);
    expect(container.getElementsByClassName('desc')).toHaveLength(0);
    expect(container.querySelectorAll('li')).toHaveLength(4);

   
  });
});

afterEach(() => {
  cleanup();
});
