|
|
|
const { assert } = require('chai')
|
|
|
|
const fs = require('fs')
|
|
|
|
|
|
|
|
describe('Filter', function () {
|
|
|
|
|
|
|
|
// get function
|
|
|
|
const Filter = require('./../src/filter.js')
|
|
|
|
|
|
|
|
// check results
|
|
|
|
it('_eq', function() {
|
|
|
|
|
|
|
|
const filter = new Filter({
|
|
|
|
view: {
|
|
|
|
_eq: 'post.njk'
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
const data = {
|
|
|
|
view: 'post.njk'
|
|
|
|
}
|
|
|
|
|
|
|
|
assert.equal(filter.validate(data), true)
|
|
|
|
})
|
|
|
|
|
|
|
|
it('_neq', function() {
|
|
|
|
|
|
|
|
const filter = new Filter({
|
|
|
|
view: {
|
|
|
|
_neq: 'post.njk'
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
const data = {
|
|
|
|
view: 'blog.njk'
|
|
|
|
}
|
|
|
|
|
|
|
|
assert.equal(filter.validate(data), true)
|
|
|
|
})
|
|
|
|
|
|
|
|
it('_in single', function() {
|
|
|
|
|
|
|
|
const filter = new Filter({
|
|
|
|
tags: {
|
|
|
|
_in: 'monday'
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
const data = {
|
|
|
|
tags: [
|
|
|
|
'monday', 'friday'
|
|
|
|
]
|
|
|
|
}
|
|
|
|
|
|
|
|
assert.equal(filter.validate(data), true)
|
|
|
|
})
|
|
|
|
|
|
|
|
it('_in single, missing tags', function() {
|
|
|
|
|
|
|
|
const filter = new Filter({
|
|
|
|
tags: {
|
|
|
|
_in: 'monday'
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
const data = {
|
|
|
|
name: 'monday'
|
|
|
|
}
|
|
|
|
|
|
|
|
assert.equal(filter.validate(data), false)
|
|
|
|
})
|
|
|
|
|
|
|
|
it('_in array', function() {
|
|
|
|
|
|
|
|
const filter = new Filter({
|
|
|
|
tags: {
|
|
|
|
_in: [
|
|
|
|
'monday'
|
|
|
|
]
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
const data = {
|
|
|
|
tags: [
|
|
|
|
'monday', 'friday'
|
|
|
|
]
|
|
|
|
}
|
|
|
|
|
|
|
|
assert.equal(filter.validate(data), true)
|
|
|
|
})
|
|
|
|
|
|
|
|
it('_lt', function() {
|
|
|
|
|
|
|
|
const filter = new Filter({
|
|
|
|
number: {
|
|
|
|
_lt: 100
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
const data = {
|
|
|
|
number: 150
|
|
|
|
}
|
|
|
|
|
|
|
|
assert.equal(filter.validate(data), true)
|
|
|
|
})
|
|
|
|
|
|
|
|
it('_lte', function() {
|
|
|
|
|
|
|
|
const filter = new Filter({
|
|
|
|
number: {
|
|
|
|
_lte: 150
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
const data = {
|
|
|
|
number: 150
|
|
|
|
}
|
|
|
|
|
|
|
|
assert.equal(filter.validate(data), true)
|
|
|
|
})
|
|
|
|
|
|
|
|
it('_gt', function() {
|
|
|
|
|
|
|
|
const filter = new Filter({
|
|
|
|
number: {
|
|
|
|
_gt: 150
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
const data = {
|
|
|
|
number: 100
|
|
|
|
}
|
|
|
|
|
|
|
|
assert.equal(filter.validate(data), true)
|
|
|
|
})
|
|
|
|
|
|
|
|
it('_gte', function() {
|
|
|
|
|
|
|
|
const filter = new Filter({
|
|
|
|
number: {
|
|
|
|
_gte: 150
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
const data = {
|
|
|
|
number: 100
|
|
|
|
}
|
|
|
|
|
|
|
|
assert.equal(filter.validate(data), true)
|
|
|
|
})
|
|
|
|
|
|
|
|
it('_null', function() {
|
|
|
|
|
|
|
|
const filter = new Filter({
|
|
|
|
not: {
|
|
|
|
_null: true
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
const data = {
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
assert.equal(filter.validate(data), true)
|
|
|
|
})
|
|
|
|
|
|
|
|
it('_nnull', function() {
|
|
|
|
|
|
|
|
const filter = new Filter({
|
|
|
|
not: {
|
|
|
|
_nnull: true
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
const data = {
|
|
|
|
not: true
|
|
|
|
}
|
|
|
|
|
|
|
|
assert.equal(filter.validate(data), true)
|
|
|
|
})
|
|
|
|
})
|