Add model-level search tests
// FREEBIE
This commit is contained in:
parent
61a57a753b
commit
11cedcce6e
1 changed files with 37 additions and 0 deletions
|
@ -190,6 +190,43 @@
|
|||
});
|
||||
});
|
||||
|
||||
describe('Conversation search', function() {
|
||||
var convo = new Whisper.ConversationCollection().add({
|
||||
id: '+14155555555', type: 'private', name: 'John Doe'
|
||||
});
|
||||
before(function(done) { convo.save().then(done); });
|
||||
function testSearch(queries, done) {
|
||||
return Promise.all(queries.map(function(query) {
|
||||
var collection = new Whisper.ConversationCollection();
|
||||
return collection.search(query).then(function() {
|
||||
assert.isDefined(collection.get(convo.id), 'no result for "' + query + '"');
|
||||
}).catch(done);
|
||||
})).then(function() {
|
||||
done();
|
||||
});
|
||||
}
|
||||
it('matches by partial phone number', function(done) {
|
||||
testSearch([
|
||||
'1',
|
||||
'4',
|
||||
'+1',
|
||||
'415',
|
||||
'4155',
|
||||
'4155555555',
|
||||
'14155555555',
|
||||
'+14155555555',
|
||||
], done);
|
||||
});
|
||||
it('matches by name', function(done) {
|
||||
testSearch([ 'John', 'Doe', 'john', 'doe', 'John Doe', 'john doe' ], done);
|
||||
});
|
||||
it('does not match +', function(done) {
|
||||
var collection = new Whisper.ConversationCollection();
|
||||
return collection.search('+').then(function() {
|
||||
assert.isUndefined(collection.get(convo.id), 'got result for "+"');
|
||||
done();
|
||||
}).catch(done);
|
||||
});
|
||||
});
|
||||
|
||||
})();;
|
||||
|
|
Loading…
Reference in a new issue