Navigation Menu

Skip to content

Commit

Permalink
Add test for multiple words matching about literal column
Browse files Browse the repository at this point in the history
  • Loading branch information
piroor committed Aug 23, 2012
1 parent b1cc694 commit 7d762bc
Showing 1 changed file with 31 additions and 6 deletions.
37 changes: 31 additions & 6 deletions test/bq-translator.test.js
Expand Up @@ -4,21 +4,19 @@ var utils = require('./test-utils');
var assert = require('chai').assert;

var BooleanQueryTranslator = require('../lib/bq-translator').BooleanQueryTranslator;
var Domain = require('../lib/database').Domain;

function createTranslator(query) {
var translator = new BooleanQueryTranslator(query);
translator.domain = {
getSynonymSync: function(key) {
return null;
}
};
translator.domain = domain;
translator.defaultFieldNames = ["field"];
return translator;
}

function testQuery(label, query, expected) {
function testQuery(label, query, expected, customSetup) {
test('query: ' + label + ': ' +
'<' + query + '> -> <' + expected + '>', function() {
if (customSetup) customSetup();
var translator = createTranslator(query);
assert.equal(translator.translate(),
expected);
Expand Down Expand Up @@ -150,10 +148,37 @@ function testSynonym(label, query, synonyms, expected) {
});
}

var context;
var temporaryDatabase;
var domain;

suite('BoolanQueryTranslator', function() {
setup(function() {
temporaryDatabase = utils.createTemporaryDatabase();
context = temporaryDatabase.get();
domain = new Domain('test', context).createSync();
});

teardown(function() {
context = undefined;
temporaryDatabase.clear();
temporaryDatabase.teardown();
temporaryDatabase = undefined;
});

testQuery("expression",
"type:'ModelName'",
'type @ "ModelName"');
testQuery("multiple words expression",
"type:'Model Name'",
'type @ "Model" && type @ "Name"');
testQuery("multiple words expression for literal column",
"literalfield:'Model Name'",
'literalfield == "Model Name"',
function() {
domain.getIndexField('literalfield').setType('literal')
.setFacetEnabled(true).setSearchEnabled(true).createSync();
});
testQuery("group: raw expressions",
"(and field1:'keyword1' field2:'keyword2' type:'ModelName')",
'(field1 @ "keyword1" && field2 @ "keyword2" && type @ "ModelName")');
Expand Down

0 comments on commit 7d762bc

Please sign in to comment.