import React from 'react';
import { composeStories } from '@storybook/testing-react';
import * as stories from './CryptoLogos.stories';
import rgbToHex from '../../utils/rgbToHex';
import color from '../../styles/colors';
import 'jest-styled-components';
import '@testing-library/jest-dom/extend-expect';
import { render, screen } from '@testing-library/react';
const { Ethereum, Binance, Polygon, Avalanche, Fantom, Arbitrum } =
composeStories(stories);
const cryptoLogoId = 'test-crypto-logo';
test('Renders - Ethereum Logo', () => {
render();
const logoElement = screen.getByTestId(cryptoLogoId);
expect(logoElement).not.toBeNull();
const styles = logoElement && getComputedStyle(logoElement);
const bgColorHex = styles && rgbToHex(styles.backgroundColor).toUpperCase();
expect(bgColorHex).toBe(color.black);
});
test('Renders - Binance Logo', () => {
render();
const logoElement = screen.getByTestId(cryptoLogoId);
expect(logoElement).not.toBeNull();
const styles = logoElement && getComputedStyle(logoElement);
const bgColorHex = styles && rgbToHex(styles.backgroundColor).toUpperCase();
expect(bgColorHex).toBe(color.black);
});
test('Renders - Polygon Logo', () => {
render();
const logoElement = screen.getByTestId(cryptoLogoId);
expect(logoElement).not.toBeNull();
const styles = logoElement && getComputedStyle(logoElement);
const bgColorHex = styles && rgbToHex(styles.backgroundColor).toUpperCase();
expect(bgColorHex).toBe(color.black);
});
test('Renders - Avalanche Logo', () => {
render();
const logoElement = screen.getByTestId(cryptoLogoId);
expect(logoElement).not.toBeNull();
const styles = logoElement && getComputedStyle(logoElement);
const bgColorHex = styles && rgbToHex(styles.backgroundColor).toUpperCase();
expect(bgColorHex).toBe(color.black);
});
test('Renders - Fantom Logo', () => {
render();
const logoElement = screen.getByTestId(cryptoLogoId);
expect(logoElement).not.toBeNull();
const styles = logoElement && getComputedStyle(logoElement);
const bgColorHex = styles && rgbToHex(styles.backgroundColor).toUpperCase();
expect(bgColorHex).toBe(color.black);
});
test('Renders - Arbitrum Logo', () => {
render();
const logoElement = screen.getByTestId(cryptoLogoId);
expect(logoElement).not.toBeNull();
const styles = logoElement && getComputedStyle(logoElement);
const bgColorHex = styles && rgbToHex(styles.backgroundColor).toUpperCase();
expect(bgColorHex).toBe(color.black);
});