prometheus

Форк
0
43 строки · 1.2 Кб
1
import React from 'react';
2
import { shallow, mount, ReactWrapper } from 'enzyme';
3
import { act } from 'react-dom/test-utils';
4
import Targets from './Targets';
5
import ScrapePoolList from './ScrapePoolList';
6
import { FetchMock } from 'jest-fetch-mock/types';
7
import { scrapePoolsSampleAPI } from './__testdata__/testdata';
8

9
describe('Targets', () => {
10
  beforeEach(() => {
11
    fetchMock.resetMocks();
12
  });
13

14
  let targets: ReactWrapper;
15
  let mock: FetchMock;
16

17
  describe('Header', () => {
18
    const targets = shallow(<Targets />);
19
    const h2 = targets.find('h2');
20
    it('renders a header', () => {
21
      expect(h2.text()).toEqual('Targets');
22
    });
23
    it('renders exactly one header', () => {
24
      const h2 = targets.find('h2');
25
      expect(h2).toHaveLength(1);
26
    });
27
  });
28

29
  it('renders a scrape pool list', async () => {
30
    mock = fetchMock.mockResponseOnce(JSON.stringify(scrapePoolsSampleAPI));
31
    await act(async () => {
32
      targets = mount(<Targets />);
33
    });
34
    expect(mock).toHaveBeenCalledWith('/api/v1/scrape_pools', {
35
      cache: 'no-store',
36
      credentials: 'same-origin',
37
    });
38
    targets.update();
39

40
    const scrapePoolList = targets.find(ScrapePoolList);
41
    expect(scrapePoolList).toHaveLength(1);
42
  });
43
});
44

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.