2
0
mirror of https://github.com/thumbsup/thumbsup synced 2024-11-19 09:26:04 +00:00
thumbsup/test/components/index/delta.spec.js

115 lines
2.6 KiB
JavaScript

const delta = require('../../../src/components/index/delta')
const should = require('should/as-function')
describe('Index: delta', () => {
it('no changes', () => {
const database = {
'IMG_0001': 1410000000000,
'IMG_0002': 1420000000000
}
const disk = {
'IMG_0001': 1410000000000,
'IMG_0002': 1420000000000
}
const res = delta.calculate(database, disk)
should(res).eql({
unchanged: ['IMG_0001', 'IMG_0002'],
added: [],
modified: [],
deleted: []
})
})
it('no changes within a second', () => {
const database = {
'IMG_0001': 1410000001000,
'IMG_0002': 1420000001000
}
const disk = {
'IMG_0001': 1410000001500, // 500ms later
'IMG_0002': 1420000000500 // 500ms earlier
}
const res = delta.calculate(database, disk)
should(res).eql({
unchanged: ['IMG_0001', 'IMG_0002'],
added: [],
modified: [],
deleted: []
})
})
it('new files', () => {
const database = {
'IMG_0001': 1410000000000,
'IMG_0002': 1420000000000
}
const disk = {
'IMG_0001': 1410000000000,
'IMG_0002': 1420000000000,
'IMG_0003': 1430000000000
}
const res = delta.calculate(database, disk)
should(res).eql({
unchanged: ['IMG_0001', 'IMG_0002'],
added: ['IMG_0003'],
modified: [],
deleted: []
})
})
it('deleted files', () => {
const database = {
'IMG_0001': 1410000000000,
'IMG_0002': 1420000000000
}
const disk = {
'IMG_0001': 1410000000000
}
const res = delta.calculate(database, disk)
should(res).eql({
unchanged: ['IMG_0001'],
added: [],
modified: [],
deleted: ['IMG_0002']
})
})
it('modified files', () => {
const database = {
'IMG_0001': 1410000000000,
'IMG_0002': 1420000000000
}
const disk = {
'IMG_0001': 1410000000000,
'IMG_0002': 1420000002000
}
const res = delta.calculate(database, disk)
should(res).eql({
unchanged: ['IMG_0001'],
added: [],
modified: ['IMG_0002'],
deleted: []
})
})
it('all cases', () => {
const database = {
'IMG_0001': 1410000000000,
'IMG_0002': 1420000000000,
'IMG_0003': 1430000000000
}
const disk = {
'IMG_0001': 1410000000000,
'IMG_0002': 1420000002000,
'IMG_0004': 1445000000000
}
const res = delta.calculate(database, disk)
should(res).eql({
unchanged: ['IMG_0001'],
added: ['IMG_0004'],
modified: ['IMG_0002'],
deleted: ['IMG_0003']
})
})
})