Skip to content

Commit 2d2e473

Browse files
committed
tests: Add tests for SubServerStatus component
1 parent 75b916b commit 2d2e473

File tree

3 files changed

+79
-0
lines changed

3 files changed

+79
-0
lines changed
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: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ 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';
13+
import * as STATUS from 'types/generated/lit-status_pb';
1214
import LoopPage from 'components/loop/LoopPage';
1315

1416
const grpcMock = grpc as jest.Mocked<typeof grpc>;
@@ -216,5 +218,27 @@ describe('LoopPage component', () => {
216218
expect(store.settingsStore.channelSort.field).toBeUndefined();
217219
expect(store.settingsStore.channelSort.descending).toBe(true);
218220
});
221+
222+
it('should display subserver disabled message', () => {
223+
const { getByText, store } = render();
224+
const { l } = prefixTranslation('cmps.common.SubServerStatus');
225+
226+
const disableLoop = store.subServerStore.serverStatus.subServersMap.map<
227+
[string, STATUS.SubServerStatus.AsObject]
228+
>(subServer => {
229+
const [service, status] = subServer;
230+
231+
if (service === 'loop') {
232+
status.disabled = true;
233+
}
234+
235+
return [service, status];
236+
});
237+
238+
store.subServerStore.serverStatus.subServersMap = disableLoop;
239+
render();
240+
241+
expect(getByText(l('isDisabled'))).toBeInTheDocument();
242+
});
219243
});
220244
});

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

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,16 @@ 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';
7+
import * as STATUS from 'types/generated/lit-status_pb';
68
import PoolPage from 'components/pool/PoolPage';
79

810
describe('PoolPage', () => {
911
let store: Store;
1012

1113
beforeEach(async () => {
1214
store = createStore();
15+
await store.fetchAllData();
1316
});
1417

1518
const render = () => {
@@ -27,4 +30,28 @@ describe('PoolPage', () => {
2730
fireEvent.click(getByText('download.svg'));
2831
expect(saveAs).toBeCalledWith(expect.any(Blob), 'leases.csv');
2932
});
33+
34+
it('should display subserver disabled message', () => {
35+
const { getByText, store } = render();
36+
const { l } = prefixTranslation('cmps.common.SubServerStatus');
37+
38+
const disablePool = store.subServerStore.serverStatus.subServersMap.map<
39+
[string, STATUS.SubServerStatus.AsObject]
40+
>(subServer => {
41+
const [service, status] = subServer;
42+
43+
if (service === 'pool') {
44+
status.disabled = true;
45+
}
46+
47+
return [service, status];
48+
});
49+
50+
console.log(disablePool);
51+
52+
store.subServerStore.serverStatus.subServersMap = disablePool;
53+
render();
54+
55+
expect(getByText(l('isDisabled'))).toBeInTheDocument();
56+
});
3057
});

0 commit comments

Comments
 (0)