mirror of
https://github.com/BoostIo/Boostnote
synced 2025-12-13 17:56:25 +00:00
48 lines
1.3 KiB
JavaScript
48 lines
1.3 KiB
JavaScript
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', '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)
|
|
})
|