Skip to content

Instantly share code, notes, and snippets.

@abargnesi
Created March 27, 2015 16:57
Show Gist options
  • Select an option

  • Save abargnesi/0ecc99f0197f6315f7cf to your computer and use it in GitHub Desktop.

Select an option

Save abargnesi/0ecc99f0197f6315f7cf to your computer and use it in GitHub Desktop.
Shows how to use multiple filters && How to send null filterOptions
/* global describe it expect belhop */
describe('belhop', function() {
'use strict';
var locations = [];
var createdEvidence = null;
var retrievedEvidence = null;
var expected = null;
var actual = null;
var factory = null;
describe('evidence', function() {
it('use multiple filters', function(done) {
var onSucc = function(response, status, xhr) {
expect(xhr.status).toEqual(200);
// docs say evidence and facets are in response object
expect(response.evidence).toBeDefined();
expect(response.facets).toBeDefined();
// our options shouldn't return more than 20 things
expect(response.evidence.length).not.toBeGreaterThan(100);
// our options should include faceted responses
expect(response.facets.length).toBeGreaterThan(0);
done();
};
var onErr = function(xhr) {
expect(xhr.status).toEqual(200);
done();
};
var cb = belhop.factory.callback(onSucc, onErr);
var filterFactory = belhop.factory.options.filter.custom;
var searchFactory = belhop.factory.options.search.evidence;
var searchOptions = searchFactory(null, 0, 100, true);
var filter1 = filterFactory('biological_context', 'Species', '9606');
var filter2 = filterFactory('metadata', 'status', 'Approved');
var filter3 = filterFactory('fts', 'search', 'apoptotic');
console.log(searchOptions);
console.log(filter1);
console.log(filter2);
console.log(filter3);
expect(belhop.evidence.search).toBeDefined();
belhop.evidence.search(searchOptions, cb, {
additionalFilters: [ filter1, filter2, filter3 ]
});
});
it('empty filter with facet', function(done) {
var onSucc = function(response, status, xhr) {
expect(xhr.status).toEqual(200);
// docs say evidence and facets are in response object
expect(response.evidence).toBeDefined();
expect(response.facets).toBeDefined();
// our options shouldn't return more than 20 things
expect(response.evidence.length).not.toBeGreaterThan(100);
// our options should include faceted responses
expect(response.facets.length).toBeGreaterThan(0);
done();
};
var onErr = function(xhr) {
expect(xhr.status).toEqual(200);
done();
};
var cb = belhop.factory.callback(onSucc, onErr);
var filterFactory = belhop.factory.options.filter.custom;
var searchFactory = belhop.factory.options.search.custom;
var searchOptions = searchFactory(null, 0, 100, true);
console.log(searchOptions);
expect(belhop.evidence.search).toBeDefined();
belhop.evidence.search(searchOptions, cb);
});
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment