Archived
2

Implemented filters for no condition or measurement

This commit is contained in:
VLE2FE
2020-09-02 16:19:40 +02:00
parent bdff2c96d3
commit 364ad1964e
4 changed files with 61 additions and 1 deletions

View File

@ -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',