diff options
Diffstat (limited to 'spec/frontend/snippets/test_utils.js')
-rw-r--r-- | spec/frontend/snippets/test_utils.js | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/spec/frontend/snippets/test_utils.js b/spec/frontend/snippets/test_utils.js new file mode 100644 index 00000000000..86262723157 --- /dev/null +++ b/spec/frontend/snippets/test_utils.js @@ -0,0 +1,76 @@ +import { + SNIPPET_BLOB_ACTION_CREATE, + SNIPPET_BLOB_ACTION_UPDATE, + SNIPPET_BLOB_ACTION_MOVE, + SNIPPET_BLOB_ACTION_DELETE, +} from '~/snippets/constants'; + +const CONTENT_1 = 'Lorem ipsum dolar\nSit amit\n\nGoodbye!\n'; +const CONTENT_2 = 'Lorem ipsum dolar sit amit.\n\nGoodbye!\n'; + +export const testEntries = { + created: { + id: 'blob_1', + diff: { + action: SNIPPET_BLOB_ACTION_CREATE, + filePath: '/new/file', + previousPath: '/new/file', + content: CONTENT_1, + }, + }, + deleted: { + id: 'blob_2', + diff: { + action: SNIPPET_BLOB_ACTION_DELETE, + filePath: '/src/delete/me', + previousPath: '/src/delete/me', + content: CONTENT_1, + }, + }, + updated: { + id: 'blob_3', + origContent: CONTENT_1, + diff: { + action: SNIPPET_BLOB_ACTION_UPDATE, + filePath: '/lorem.md', + previousPath: '/lorem.md', + content: CONTENT_2, + }, + }, + renamed: { + id: 'blob_4', + diff: { + action: SNIPPET_BLOB_ACTION_MOVE, + filePath: '/dolar.md', + previousPath: '/ipsum.md', + content: CONTENT_1, + }, + }, + renamedAndUpdated: { + id: 'blob_5', + origContent: CONTENT_1, + diff: { + action: SNIPPET_BLOB_ACTION_MOVE, + filePath: '/sit.md', + previousPath: '/sit/amit.md', + content: CONTENT_2, + }, + }, +}; + +export const createBlobFromTestEntry = ({ diff, origContent }, isOrig = false) => ({ + content: isOrig && origContent ? origContent : diff.content, + path: isOrig ? diff.previousPath : diff.filePath, +}); + +export const createBlobsFromTestEntries = (entries, isOrig = false) => + entries.reduce( + (acc, entry) => + Object.assign(acc, { + [entry.id]: { + id: entry.id, + ...createBlobFromTestEntry(entry, isOrig), + }, + }), + {}, + ); |