summaryrefslogtreecommitdiff
path: root/spec/frontend/static_site_editor/graphql/resolvers/submit_content_changes_spec.js
blob: 515b5394594a4b6054e8277685c96763310b0333 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import savedContentMetaQuery from '~/static_site_editor/graphql/queries/saved_content_meta.query.graphql';
import submitContentChanges from '~/static_site_editor/services/submit_content_changes';
import submitContentChangesResolver from '~/static_site_editor/graphql/resolvers/submit_content_changes';

import {
  projectId as project,
  sourcePath,
  username,
  sourceContent as content,
  savedContentMeta,
} from '../../mock_data';

jest.mock('~/static_site_editor/services/submit_content_changes', () => jest.fn());

describe('static_site_editor/graphql/resolvers/submit_content_changes', () => {
  it('writes savedContentMeta query with the data returned by the submitContentChanges service', () => {
    const cache = { writeQuery: jest.fn() };

    submitContentChanges.mockResolvedValueOnce(savedContentMeta);

    return submitContentChangesResolver(
      {},
      { input: { path: sourcePath, project, sourcePath, content, username } },
      { cache },
    ).then(() => {
      expect(cache.writeQuery).toHaveBeenCalledWith({
        query: savedContentMetaQuery,
        data: {
          savedContentMeta: {
            __typename: 'SavedContentMeta',
            ...savedContentMeta,
          },
        },
      });
    });
  });
});