flowai-js
Version:
The flow.ai Javascript SDK
89 lines (76 loc) • 1.93 kB
JavaScript
import chai, { expect, assert } from 'chai'
import chaiEventemitter from 'chai-eventemitter'
import Unique from '../lib/unique'
chai.use(chaiEventemitter)
describe("Unique", () => {
it("Unique must have opts", () => {
expect(() => new Unique()).to.throw(Error)
})
it("Unique must have values", () => {
const uniqueId = new Unique({
clientId: 'abc',
key: 'key',
value: 'value',
engine: 'local'
})
expect(uniqueId.id()).to.be.equal('value')
})
it("Check if unique exists", () => {
new Unique({
clientId: 'abc',
key: 'key',
value: 'value',
engine: 'session'
})
expect(Unique.exists({
clientId: 'abc',
key: 'key',
engine: 'session'
})).to.be.true
})
it("Check if unique does not exist", () => {
new Unique({
clientId: 'abc',
key: 'key',
value: 'value',
engine: 'local'
})
expect(Unique.exists({
clientId: 'abc2',
key: 'key2',
engine: 'local'
})).to.be.false
})
it("Check if unique exists in memory store", () => {
new Unique({
clientId: 'abc',
key: 'key',
value: 'value',
engine: 'memory'
})
expect(Unique.exists({
clientId: 'abc',
key: 'key',
engine: 'memory'
})).to.be.true
})
it("Check if unique does not exist in memory store", () => {
new Unique({
clientId: 'abc',
key: 'key',
value: 'value',
engine: 'memory'
})
expect(Unique.exists({
clientId: 'abc2',
key: 'key2',
engine: 'memory'
})).to.be.false
})
it("Unique exists throws with invalid arguments", () => {
expect(() => Unique.exists()).to.throw(Error)
expect(() => Unique.exists({ clientId: null, key: null })).to.throw(Error)
expect(() => Unique.exists('null', null)).to.throw(Error)
expect(() => Unique.exists(null, 'null')).to.throw(Error)
})
})