@imranbarbhuiya/mongoose-fuzzy-searching
Version:
Mongoose fuzzy searching plugin
74 lines (73 loc) • 2.77 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
var DatabaseFields = __importStar(require("./db/fields"));
var middlewares_1 = require("./middlewares");
jest.mock("./db/fields");
describe("createNGramsMiddleware", function () {
var next = jest.fn();
it("should call `createNGrams` for each element on the array", function () {
var doc = [
{
name: "Joe",
},
{
name: "Joe",
},
{
name: "Joe",
},
{
name: "Joe",
},
];
var fields = ["name"];
var createNGramsMock = jest.spyOn(DatabaseFields, "createNGrams");
(0, middlewares_1.createNGramsMiddleware)(doc, fields, next);
expect(createNGramsMock).toHaveBeenCalledTimes(doc.length);
expect(next).toHaveBeenCalledTimes(1);
});
it("should call `createNGrams` for a single object", function () {
var doc = {
name: "Joe",
};
var fields = ["name"];
var createNGramsMock = jest.spyOn(DatabaseFields, "createNGrams");
(0, middlewares_1.createNGramsMiddleware)(doc, fields, next);
expect(createNGramsMock).toHaveBeenCalledTimes(1);
expect(next).toHaveBeenCalledTimes(1);
});
it("should call next with error when an Error is thrown", function () {
var doc = {
name: "Joe",
};
var fields = ["name"];
var error = new Error("oops");
var createNGramsMock = jest
.spyOn(DatabaseFields, "createNGrams")
.mockImplementation(function () {
throw error;
});
(0, middlewares_1.createNGramsMiddleware)(doc, fields, next);
expect(createNGramsMock).toHaveBeenCalledTimes(1);
expect(next).toHaveBeenCalledWith(error);
});
});