Skip to content

Commit 4b32e5b

Browse files
committed
tests: Add tests for SubServerStatus component
1 parent 23ee4ed commit 4b32e5b

3 files changed

Lines changed: 73 additions & 0 deletions

File tree

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
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 = <SubServerStatus isDisabled={isDisabled} errorMessage={errorMessage} />;
9+
return renderWithProviders(cmp);
10+
};
11+
12+
it('should display disabled', () => {
13+
const { getByText } = render(true);
14+
const { l } = prefixTranslation('cmps.common.SubServerStatus');
15+
expect(getByText(l('isDisabled'))).toBeInTheDocument();
16+
});
17+
18+
it('should display error', () => {
19+
const { getByText } = render(false);
20+
const { l } = prefixTranslation('cmps.common.SubServerStatus');
21+
expect(getByText(l('isError'))).toBeInTheDocument();
22+
});
23+
24+
it('should match error message', () => {
25+
const { getByText } = render(false, 'Test error message');
26+
expect(getByText('Test error message')).toBeInTheDocument();
27+
});
28+
});

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

Lines changed: 23 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,27 @@ 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(
226+
subServer => {
227+
const [service, status] = subServer;
228+
229+
if (service === 'loop') {
230+
status.disabled = true;
231+
}
232+
233+
return [service, status];
234+
},
235+
);
236+
237+
store.subServerStore.serverStatus.subServersMap = disableLoop;
238+
render();
239+
240+
expect(getByText(l('isDisabled'))).toBeInTheDocument();
241+
});
219242
});
220243
});

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)