Implemented filters for no condition or measurement
This commit is contained in:
@ -440,6 +440,48 @@ describe('/sample', () => {
|
||||
done();
|
||||
});
|
||||
});
|
||||
it('filters for empty conditions', done => {
|
||||
TestHelper.request(server, done, {
|
||||
method: 'get',
|
||||
url: '/samples?status[]=new&status[]=validated&fields[]=number&fields[]=condition&filters[]=%7B%22mode%22%3A%22eq%22%2C%22field%22%3A%22condition%22%2C%22values%22%3A%5B%7B%7D%5D%7D',
|
||||
auth: {basic: 'janedoe'},
|
||||
httpStatus: 200
|
||||
}).end((err, res) => {
|
||||
if (err) return done(err);
|
||||
const json = require('../test/db.json');
|
||||
should(res.body).have.lengthOf(
|
||||
json.collections.samples
|
||||
.filter(e => e.status !== 'deleted')
|
||||
.filter(e => Object.keys(e.condition).length === 0)
|
||||
.length
|
||||
);
|
||||
should(res.body).matchEach(sample => {
|
||||
should(sample.condition).be.eql({});
|
||||
});
|
||||
done();
|
||||
});
|
||||
});
|
||||
it('filters for samples without measurements', done => {
|
||||
TestHelper.request(server, done, {
|
||||
method: 'get',
|
||||
url: '/samples?status[]=new&status[]=validated&fields[]=number&fields[]=_id&filters[]=%7B%22mode%22%3A%22eq%22%2C%22field%22%3A%22measurements%22%2C%22values%22%3A%5Bnull%5D%7D',
|
||||
auth: {basic: 'janedoe'},
|
||||
httpStatus: 200
|
||||
}).end((err, res) => {
|
||||
if (err) return done(err);
|
||||
const json = require('../test/db.json');
|
||||
should(res.body).have.lengthOf(
|
||||
json.collections.samples
|
||||
.filter(e => e.status !== 'deleted')
|
||||
.filter(e => !json.collections.measurements.find(el => el.sample_id.toString() === e._id.toString()))
|
||||
.length
|
||||
);
|
||||
should(res.body).matchEach(sample => {
|
||||
should(json.collections.measurements.find(el => el.sample_id.toString() === sample._id)).be.eql(undefined);
|
||||
});
|
||||
done();
|
||||
});
|
||||
});
|
||||
it('returns comment fields', done => {
|
||||
TestHelper.request(server, done, {
|
||||
method: 'get',
|
||||
|
Reference in New Issue
Block a user