prometheus/web/ui/react-app/src/pages/Status.test.tsx
Boyko 8a9509b0a8 Replace fetching hooks with class render prop component (#6267)
* replace fetching hooks with class render prop component

Signed-off-by: Boyko Lalov <boyskila@gmail.com>
Signed-off-by: blalov <boyko.lalov@tick42.com>
Signed-off-by: Boyko Lalov <boyskila@gmail.com>

* rename Fetcher

Signed-off-by: blalov <boyko.lalov@tick42.com>
Signed-off-by: Boyko Lalov <boyskila@gmail.com>

* status page markup separated from fetcher component

Signed-off-by: blalov <boyko.lalov@tick42.com>
Signed-off-by: Boyko Lalov <boyskila@gmail.com>

* fetch api reusability

Signed-off-by: blalov <boyko.lalov@tick42.com>
Signed-off-by: Boyko Lalov <boyskila@gmail.com>

* extract Config and Flags pages as 'dumb' components

Signed-off-by: blalov <boyko.lalov@tick42.com>
Signed-off-by: Boyko Lalov <boyskila@gmail.com>

* more components splitting

Signed-off-by: blalov <boyko.lalov@tick42.com>
Signed-off-by: Boyko Lalov <boyskila@gmail.com>

* implement fetchWithstatus HOC

Signed-off-by: blalov <boyko.lalov@tick42.com>
Signed-off-by: Boyko Lalov <boyskila@gmail.com>

* refactor changed files tests

Signed-off-by: blalov <boyko.lalov@tick42.com>
Signed-off-by: Boyko Lalov <boyskila@gmail.com>

* switching back to hooks.

Signed-off-by: blalov <boyko.lalov@tick42.com>
Signed-off-by: Boyko Lalov <boyskila@gmail.com>

* fetch response bug fix

Signed-off-by: Boyko Lalov <boyskila@gmail.com>

* make wrapped by withstatusIndicator components names consistent

Signed-off-by: Boyko Lalov <boyskila@gmail.com>
2019-11-12 14:35:47 +01:00

54 lines
1.6 KiB
TypeScript

import * as React from 'react';
import { shallow } from 'enzyme';
import toJson from 'enzyme-to-json';
import { StatusContent } from './Status';
describe('Status', () => {
it('should not fail with undefined data', () => {
const wrapper = shallow(<StatusContent data={[]} />);
expect(wrapper).toHaveLength(1);
});
describe('Snapshot testing', () => {
const response: any = [
{
startTime: '2019-10-30T22:03:23.247913868+02:00',
CWD: '/home/boyskila/Desktop/prometheus',
reloadConfigSuccess: true,
lastConfigTime: '2019-10-30T22:03:23+02:00',
chunkCount: 1383,
timeSeriesCount: 461,
corruptionCount: 0,
goroutineCount: 37,
GOMAXPROCS: 4,
GOGC: '',
GODEBUG: '',
storageRetention: '15d',
},
{
version: '',
revision: '',
branch: '',
buildUser: '',
buildDate: '',
goVersion: 'go1.13.3',
},
{
activeAlertmanagers: [
{ url: 'https://1.2.3.4:9093/api/v1/alerts' },
{ url: 'https://1.2.3.5:9093/api/v1/alerts' },
{ url: 'https://1.2.3.6:9093/api/v1/alerts' },
{ url: 'https://1.2.3.7:9093/api/v1/alerts' },
{ url: 'https://1.2.3.8:9093/api/v1/alerts' },
{ url: 'https://1.2.3.9:9093/api/v1/alerts' },
],
droppedAlertmanagers: [],
},
];
it('should match table snapshot', () => {
const wrapper = shallow(<StatusContent data={response} />);
expect(toJson(wrapper)).toMatchSnapshot();
jest.restoreAllMocks();
});
});
});