@ministryofjustice/probation-search-frontend
Version:
A shared UI component to search for probation cases from within your Express/Nunjucks application
70 lines • 2.74 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const suggestions_1 = __importDefault(require("./suggestions"));
describe('suggestions', () => {
const response = {
suggestions: {
suggest: {
mispelled: [
{
text: 'mispelled',
offset: 0,
length: 9,
options: [
{
text: 'misspelled',
freq: 2,
score: 2,
},
{
text: 'mis-spelled',
freq: 1,
score: 1,
},
],
},
],
qery: [
{
text: 'qery',
offset: 10,
length: 4,
options: [
{
text: 'query',
freq: 2,
score: 2,
},
],
},
],
},
},
};
it('should include the new query', () => {
const suggestions = (0, suggestions_1.default)(response, {
session: { probationSearch: { query: 'mispelled qery' } },
});
expect(suggestions.length).toEqual(3);
expect(suggestions[0].text).toEqual('misspelled');
expect(suggestions[0].newQuery).toEqual('misspelled qery');
expect(suggestions[1].text).toEqual('query');
expect(suggestions[1].newQuery).toEqual('mispelled query');
expect(suggestions[2].text).toEqual('mis-spelled');
expect(suggestions[2].newQuery).toEqual('mis-spelled qery');
});
it('handles null session', () => {
const suggestions = (0, suggestions_1.default)(response, { session: null });
expect(suggestions.length).toEqual(3);
expect(suggestions[0].text).toEqual('misspelled');
expect(suggestions[0].newQuery).toEqual('misspelled');
expect(suggestions[1].text).toEqual('query');
expect(suggestions[1].newQuery).toEqual('query');
expect(suggestions[2].text).toEqual('mis-spelled');
expect(suggestions[2].newQuery).toEqual('mis-spelled');
});
});
//# sourceMappingURL=suggestions.test.js.map