/* eslint-disable react/jsx-no-constructed-context-values */
// This file was copied from edx/frontend-component-header-edx.
import React from 'react';
import { IntlProvider } from '@edx/frontend-platform/i18n';
import { AppContext } from '@edx/frontend-platform/react';
import { Context as ResponsiveContext } from 'react-responsive';
import {
cleanup,
render,
screen,
} from '@testing-library/react';
import Header from './Header';
describe('', () => {
function createComponent(screenWidth, component) {
return (
{component}
);
}
it('renders desktop header correctly with API call', async () => {
const component = createComponent(
1280, (
),
);
render(component);
expect(screen.getByTestId('course-org-number').textContent).toEqual(expect.stringContaining('edX DemoX'));
expect(screen.getByTestId('course-title').textContent).toEqual(expect.stringContaining('Demonstration Course'));
});
it('renders mobile header correctly with API call', async () => {
const component = createComponent(
500, (
),
);
render(component);
expect(screen.getByTestId('edx-header-logo'));
});
it('renders desktop header correctly with bad API call', async () => {
const component = createComponent(
1280, (
),
);
render(component);
expect(screen.getByTestId('course-title').textContent).toEqual(expect.stringContaining('course-v1:edX+DemoX+Demo_Course'));
});
it('renders mobile header correctly with bad API call', async () => {
const component = createComponent(
500, (
),
);
render(component);
expect(screen.getByTestId('edx-header-logo'));
});
afterEach(() => {
cleanup();
});
});