mirror of
https://github.com/BoostIo/Boostnote
synced 2025-12-13 17:56:25 +00:00
refactored snippet dataApi for easy testing and added some test. Fixed old snippet still display when deleted
This commit is contained in:
48
tests/dataApi/updateSnippet-test.js
Normal file
48
tests/dataApi/updateSnippet-test.js
Normal file
@@ -0,0 +1,48 @@
|
||||
const test = require('ava')
|
||||
const updateSnippet = require('browser/main/lib/dataApi/updateSnippet')
|
||||
const sander = require('sander')
|
||||
const os = require('os')
|
||||
const path = require('path')
|
||||
const crypto = require('crypto')
|
||||
|
||||
const snippetFilePath = path.join(os.tmpdir(), `test${path.sep}update-snippet`)
|
||||
const snippetFile = path.join(snippetFilePath, 'snippets.json')
|
||||
const oldSnippet = {
|
||||
id: crypto.randomBytes(16).toString('hex'),
|
||||
name: 'Initial snippet',
|
||||
prefix: [],
|
||||
content: ''
|
||||
}
|
||||
|
||||
const newSnippet = {
|
||||
id: oldSnippet.id,
|
||||
name: 'new name',
|
||||
prefix: ['prefix'],
|
||||
content: 'new content'
|
||||
}
|
||||
|
||||
|
||||
test.beforeEach((t) => {
|
||||
sander.writeFileSync(snippetFile, JSON.stringify([oldSnippet]))
|
||||
})
|
||||
|
||||
test.serial('Update a snippet', (t) => {
|
||||
return Promise.resolve()
|
||||
.then(function doTest () {
|
||||
return Promise.all([
|
||||
updateSnippet(newSnippet, snippetFile)
|
||||
])
|
||||
})
|
||||
.then(function assert () {
|
||||
const snippets = JSON.parse(sander.readFileSync(snippetFile))
|
||||
const snippet = snippets.find(currentSnippet => currentSnippet.id === newSnippet.id)
|
||||
t.not(snippet, undefined)
|
||||
t.is(snippet.name, newSnippet.name)
|
||||
t.deepEqual(snippet.prefix, newSnippet.prefix)
|
||||
t.is(snippet.content, newSnippet.content)
|
||||
})
|
||||
})
|
||||
|
||||
test.after.always(() => {
|
||||
sander.rimrafSync(snippetFilePath)
|
||||
})
|
||||
Reference in New Issue
Block a user