averias/redis-time-series

View on GitHub
src/__tests__/unit/entity/filter.test.ts

Summary

Maintainability
A
0 mins
Test Coverage
import { FilterOperator } from "../../../enum/filterOperator";
import { Filter } from "../../../entity/filter";

test("simple numeric filter creation", () => {
    const filter = new Filter("label", FilterOperator.EQUAL, 28);
    expect(filter.flatten()).toEqual([`label${FilterOperator.EQUAL}${28}`]);
});

test("simple string filter creation", () => {
    const filter = new Filter("label", FilterOperator.EQUAL, "28");
    expect(filter.flatten()).toEqual([`label${FilterOperator.EQUAL}${28}`]);
});

test("array filter creation", () => {
    const filter = new Filter("label", FilterOperator.NOT_EQUAL, ["28", 36, "limit"]);
    expect(filter.flatten()).toEqual([`label${FilterOperator.NOT_EQUAL}(28,36,limit)`]);
});

test("exist filter creation", () => {
    const filter = new Filter("label", FilterOperator.NOT_EQUAL);
    expect(filter.flatten()).toEqual([`label${FilterOperator.NOT_EQUAL}`]);
});

test("filter creation with wrong operator", () => {
    expect(() => {
        new Filter("label", ">");
    }).toThrow(/not allowed operator/);
});