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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
import { cloneDeep } from 'lodash';
import { decorateBlob, createBlob, diffAll } from '~/snippets/utils/blob';
import { testEntries, createBlobsFromTestEntries } from '../test_utils';
jest.mock('lodash/uniqueId', () => arg => `${arg}fakeUniqueId`);
const TEST_RAW_BLOB = {
rawPath: '/test/blob/7/raw',
};
describe('~/snippets/utils/blob', () => {
describe('decorateBlob', () => {
it('should decorate the given object with local blob properties', () => {
const orig = cloneDeep(TEST_RAW_BLOB);
expect(decorateBlob(orig)).toEqual({
...TEST_RAW_BLOB,
id: 'blob_local_fakeUniqueId',
isLoaded: false,
content: '',
});
});
});
describe('createBlob', () => {
it('should create an empty local blob', () => {
expect(createBlob()).toEqual({
id: 'blob_local_fakeUniqueId',
isLoaded: true,
content: '',
path: '',
});
});
});
describe('diffAll', () => {
it('should create diff from original files', () => {
const origBlobs = createBlobsFromTestEntries(
[
testEntries.deleted,
testEntries.updated,
testEntries.renamed,
testEntries.renamedAndUpdated,
],
true,
);
const blobs = createBlobsFromTestEntries([
testEntries.created,
testEntries.updated,
testEntries.renamed,
testEntries.renamedAndUpdated,
]);
expect(diffAll(blobs, origBlobs)).toEqual([
testEntries.deleted.diff,
testEntries.created.diff,
testEntries.updated.diff,
testEntries.renamed.diff,
testEntries.renamedAndUpdated.diff,
]);
});
});
});
|