Home Manual Reference Source Test Repository

__test__/api/Restrictions.spec.js

import Restrictions from "api/Restrictions";
import chai from "chai";

const data = {
    name: "Kamil",
    age: 30
};

/** @test {api/Restrictions.js} **/
describe("api/Restrictions.js", () => {
    /** @test {api/Restrictions#op} **/
    it("op", () => {
        chai.assert.isTrue(Restrictions.op("<", "age", "35")(data));
        chai.assert.isFalse(Restrictions.op("<", "age", "25")(data));
        chai.assert.isTrue(Restrictions.op(">", "age", "25")(data));
        chai.assert.isFalse(Restrictions.op(">", "age", "35")(data));
        chai.assert.isTrue(Restrictions.op("==", "age", "30")(data));
        chai.assert.isFalse(Restrictions.op("==", "age", "29")(data));
        chai.assert.isTrue(Restrictions.op(">=", "age", "30")(data));
        chai.assert.isTrue(Restrictions.op("<=", "age", "30")(data));
    });
    /** @test {api/Restrictions#eq} **/
    it("eq", () => {
        chai.assert.isTrue(Restrictions.eq("name", "Kamil", true)(data));
        chai.assert.isTrue(Restrictions.eq("age", 30, true)(data));
        chai.assert.isTrue(Restrictions.eq("name", "kamil", false)(data));
        chai.assert.isFalse(Restrictions.eq("name", "kamil", true)(data));
    });
    /** @test {api/Restrictions#lt} **/
    it("lt", () => {
        chai.assert.isTrue(Restrictions.lt("age",32)(data));
        chai.assert.isFalse(Restrictions.lt("age",30)(data));
        chai.assert.isFalse(Restrictions.lt("age",29)(data));
    });
    /** @test {api/Restrictions#lte} **/
    it("lte", () => {
        chai.assert.isTrue(Restrictions.lte("age",32)(data));
        chai.assert.isTrue(Restrictions.lte("age",30)(data));
        chai.assert.isFalse(Restrictions.lte("age",29)(data));
    });
    /** @test {api/Restrictions#gt} **/
    it("gt", () => {
        chai.assert.isTrue(Restrictions.gt("age",29)(data));
        chai.assert.isFalse(Restrictions.gt("age",30)(data));
        chai.assert.isFalse(Restrictions.gt("age",32)(data));
    });
    /** @test {api/Restrictions#gte} **/
    it("gte", () => {
        chai.assert.isTrue(Restrictions.gte("age",29)(data));
        chai.assert.isTrue(Restrictions.gte("age",30)(data));
        chai.assert.isFalse(Restrictions.gte("age",32)(data));
    });
    /** @test {api/Restrictions#between} **/
    it("between", () => {
        chai.assert.isTrue(Restrictions.between("age", 29 , 32)(data));
        chai.assert.isTrue(Restrictions.between("age", 29, 30)(data));
        chai.assert.isTrue(Restrictions.between("age", 32, 29)(data));
        chai.assert.isTrue(Restrictions.between("age", 32, 29)(data));
    });
    /** @test {api/Restrictions#startsWith} **/
    it("startsWith", () => {
        chai.assert.isTrue(Restrictions.startsWith("age", "3")(data));
        chai.assert.isTrue(Restrictions.startsWith("name","Ka")(data));
        chai.assert.isTrue(Restrictions.startsWith("name","ka")(data));
        chai.assert.isFalse(Restrictions.startsWith("name", "ka", true)(data));
    });
    /** @test {api/Restrictions#endsWith} **/
    it("endsWith", () => {
        chai.assert.isTrue(Restrictions.endsWith("age", "0")(data));
        chai.assert.isTrue(Restrictions.endsWith("name","il")(data));
        chai.assert.isFalse(Restrictions.endsWith("name", "İl", true)(data));
    });
    /** @test {api/Restrictions#contains} **/
    it("contains", () => {
        chai.assert.isTrue(Restrictions.contains("age", "3")(data));
        chai.assert.isTrue(Restrictions.contains("name","ami")(data));
        chai.assert.isTrue(Restrictions.contains("name","il")(data));
        chai.assert.isFalse(Restrictions.contains("name", "aka", true)(data));
    });
    /** @test {api/Restrictions#like} **/
    it("like", () => {
        chai.assert.isTrue(Restrictions.like("age", "3%")(data));
        chai.assert.isTrue(Restrictions.like("name","%ami%")(data));
        chai.assert.isTrue(Restrictions.like("name","%il")(data));
        chai.assert.isFalse(Restrictions.like("name", "%aka%", true)(data));
    });
    /** @test {api/Restrictions#in} **/
    it("in", () => {
        chai.assert.isTrue(Restrictions.in("age", ["30","31"])(data));
        chai.assert.isFalse(Restrictions.in("age", ["29","31"])(data));
        chai.assert.isTrue(Restrictions.in("name", ["Kamil"])(data));
        chai.assert.isTrue(Restrictions.in("name", ["kamil"])(data));
        chai.assert.isFalse(Restrictions.in("name", ["kamil"], true)(data));
    });
    /** @test {api/Restrictions#isNull} **/
    it("isNull", () => {
        chai.assert.isFalse(Restrictions.isNull("age")(data));
        chai.assert.isFalse(Restrictions.isNull("name")(data));
        chai.assert.isTrue(Restrictions.isNull("email")(data));
    });
    /** @test {api/Restrictions#isNotNull} **/
    it("isNotNull", () => {
        chai.assert.isTrue(Restrictions.isNotNull("age")(data));
        chai.assert.isTrue(Restrictions.isNotNull("name")(data));
        chai.assert.isFalse(Restrictions.isNotNull("email")(data));
    });
    /** @test {api/Restrictions#isEmpty} **/
    it("isEmpty", () => {
        chai.assert.isFalse(Restrictions.isEmpty("age")(data));
        chai.assert.isFalse(Restrictions.isEmpty("name")(data));
        chai.assert.isTrue(Restrictions.isEmpty("email")(data));
    });
    /** @test {api/Restrictions#isNotEmpty} **/
    it("isNotEmpty", () => {
        chai.assert.isTrue(Restrictions.isNotEmpty("age")(data));
        chai.assert.isTrue(Restrictions.isNotEmpty("name")(data));
        chai.assert.isFalse(Restrictions.isNotEmpty("email")(data));
    });
    /** @test {api/Restrictions#or} **/
    it("or", () => {

        let funcArray = [
            Restrictions.eq("name","kamil"),
            Restrictions.lt("age",29)
        ];
        chai.assert.isTrue(Restrictions.or.apply(Restrictions,funcArray)(data));
        funcArray = [
            Restrictions.eq("name","kemal"),
            Restrictions.lt("age",29)
        ];
        chai.assert.isFalse(Restrictions.or.apply(Restrictions,funcArray)(data));
    });
    /** @test {api/Restrictions#and} **/
    it("and", () => {
        let funcArray = [
            Restrictions.eq("name","kamil"),
            Restrictions.lt("age",32)
        ];
        chai.assert.isTrue(Restrictions.and.apply(Restrictions,funcArray)(data));
        funcArray = [
            Restrictions.eq("name","kamil"),
            Restrictions.lt("age",29)
        ];
        chai.assert.isFalse(Restrictions.and.apply(Restrictions,funcArray)(data));
    });
});