1import { updateOrganization } from './actions';
2import { updateConfigurationSubtitle } from 'app/core/actions';
3import { thunkTester } from 'test/core/thunk/thunkTester';
4
5const setup = () => {
6  const initialState = {
7    organization: {
8      organization: {
9        id: 1,
10        name: 'New Org Name',
11      },
12    },
13  };
14
15  return {
16    initialState,
17  };
18};
19
20describe('updateOrganization', () => {
21  describe('when updateOrganization thunk is dispatched', () => {
22    const getMock = jest.fn().mockResolvedValue({ id: 1, name: 'New Org Name' });
23    const putMock = jest.fn().mockResolvedValue({ id: 1, name: 'New Org Name' });
24    const backendSrvMock: any = {
25      get: getMock,
26      put: putMock,
27    };
28
29    it('then it should dispatch updateConfigurationSubtitle', async () => {
30      const { initialState } = setup();
31
32      const dispatchedActions = await thunkTester(initialState)
33        .givenThunk(updateOrganization)
34        .whenThunkIsDispatched({ getBackendSrv: () => backendSrvMock });
35
36      expect(dispatchedActions[0].type).toEqual(updateConfigurationSubtitle.type);
37      expect(dispatchedActions[0].payload).toEqual(initialState.organization.organization.name);
38    });
39  });
40});
41