Skip to content

Commit 538f582

Browse files
committed
tests: Add tests for SubServerStatus component
1 parent 23ee4ed commit 538f582

3 files changed

Lines changed: 74 additions & 0 deletions

File tree

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import React from 'react';
2+
import { renderWithProviders } from 'util/tests';
3+
import { prefixTranslation } from 'util/translate';
4+
import SubServerStatus from 'components/common/SubServerStatus';
5+
6+
describe('SubServer Status Component', () => {
7+
const render = (isDisabled: boolean, errorMessage?: string) => {
8+
const cmp = (
9+
<SubServerStatus isDisabled={isDisabled} errorMessage={errorMessage} />
10+
);
11+
return renderWithProviders(cmp);
12+
};
13+
14+
it('should display disabled', () => {
15+
const { getByText } = render(true);
16+
const { l } = prefixTranslation('cmps.common.SubServerStatus');
17+
expect(getByText(l('isDisabled'))).toBeInTheDocument();
18+
});
19+
20+
it('should display error', () => {
21+
const { getByText } = render(false);
22+
const { l } = prefixTranslation('cmps.common.SubServerStatus');
23+
expect(getByText(l('isError'))).toBeInTheDocument();
24+
});
25+
26+
it('should match error message', () => {
27+
const { getByText } = render(false, 'Test error message');
28+
const { l } = prefixTranslation('cmps.common.SubServerStatus');
29+
expect(getByText('Test error message')).toBeInTheDocument();
30+
});
31+
});

app/src/__tests__/components/loop/LoopPage.spec.tsx

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { formatSats } from 'util/formatters';
99
import { renderWithProviders } from 'util/tests';
1010
import { loopListSwaps } from 'util/tests/sampleData';
1111
import { createStore, Store } from 'store';
12+
import { prefixTranslation } from 'util/translate';
1213
import LoopPage from 'components/loop/LoopPage';
1314

1415
const grpcMock = grpc as jest.Mocked<typeof grpc>;
@@ -216,5 +217,25 @@ describe('LoopPage component', () => {
216217
expect(store.settingsStore.channelSort.field).toBeUndefined();
217218
expect(store.settingsStore.channelSort.descending).toBe(true);
218219
});
220+
221+
it('should display subserver disabled message', () => {
222+
const { getByText, store } = render();
223+
const { l } = prefixTranslation('cmps.common.SubServerStatus');
224+
225+
const disableLoop = store.subServerStore.serverStatus.subServersMap.map((subServer) => {
226+
const [service, status] = subServer;
227+
228+
if(service === 'loop') {
229+
status.disabled = true;
230+
}
231+
232+
return [service, status];
233+
});
234+
235+
store.subServerStore.serverStatus.subServersMap = disableLoop;
236+
render();
237+
238+
expect(getByText(l('isDisabled'))).toBeInTheDocument();
239+
});
219240
});
220241
});

app/src/__tests__/components/pool/PoolPage.spec.tsx

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,15 @@ import { fireEvent } from '@testing-library/react';
33
import { saveAs } from 'file-saver';
44
import { renderWithProviders } from 'util/tests';
55
import { createStore, Store } from 'store';
6+
import { prefixTranslation } from 'util/translate';
67
import PoolPage from 'components/pool/PoolPage';
78

89
describe('PoolPage', () => {
910
let store: Store;
1011

1112
beforeEach(async () => {
1213
store = createStore();
14+
await store.fetchAllData();
1315
});
1416

1517
const render = () => {
@@ -27,4 +29,24 @@ describe('PoolPage', () => {
2729
fireEvent.click(getByText('download.svg'));
2830
expect(saveAs).toBeCalledWith(expect.any(Blob), 'leases.csv');
2931
});
32+
33+
it('should display subserver disabled message', () => {
34+
const { getByText, store } = render();
35+
const { l } = prefixTranslation('cmps.common.SubServerStatus');
36+
37+
const disablePool = store.subServerStore.serverStatus.subServersMap.map((subServer) => {
38+
const [service, status] = subServer;
39+
40+
if(service === 'pool') {
41+
status.disabled = true;
42+
}
43+
44+
return [service, status];
45+
});
46+
47+
store.subServerStore.serverStatus.subServersMap = disablePool;
48+
render();
49+
50+
expect(getByText(l('isDisabled'))).toBeInTheDocument();
51+
});
3052
});

0 commit comments

Comments
 (0)