Skip to content
Snippets Groups Projects

Issue #23: Add filters to API

Merged Lucas Fernandes de Oliveira requested to merge issue/23 into master
14 files
+ 791
78
Compare changes
  • Side-by-side
  • Inline
Files
14
@@ -169,4 +169,76 @@ describe("postgres adapter", () => {
@@ -169,4 +169,76 @@ describe("postgres adapter", () => {
done();
done();
});
});
});
});
 
 
it("should get data from view when a single clause exists", (done) => {
 
let view = adapterScenario.clauseView;
 
adapter.getDataFromView(view, (err, result) => {
 
expect(err).to.be.a("null");
 
expect(result).to.be.an("array");
 
expect(result).to.have.length(1);
 
expect(result[0]).to.be.an("object");
 
let keys: string[] = [];
 
keys = keys.concat(view.metrics.map((item) => item.name));
 
keys = keys.concat(view.dimensions.map((item) => item.name));
 
result.forEach((row) => {
 
expect(row).to.be.an("object");
 
expect(row).to.have.all.keys(keys);
 
});
 
 
expect(parseInt(result[0]["met:0"], 10)).to.be.equal(1);
 
expect(parseInt(result[0]["met:1"], 10)).to.be.equal(1);
 
expect(parseInt(result[0]["met:2"], 10)).to.be.equal(1);
 
expect(result[0]["dim:0"].getDate()).to.be.equal(1);
 
done();
 
});
 
});
 
 
it("should get data from view with single clause, with more than on filter", (done) => {
 
let view = adapterScenario.multiFilterView;
 
adapter.getDataFromView(view, (err, result) => {
 
expect(err).to.be.a("null");
 
expect(result).to.be.an("array");
 
expect(result).to.have.length(2);
 
expect(result[0]).to.be.an("object");
 
let keys: string[] = [];
 
keys = keys.concat(view.metrics.map((item) => item.name));
 
keys = keys.concat(view.dimensions.map((item) => item.name));
 
result.forEach((row) => {
 
expect(row).to.be.an("object");
 
expect(row).to.have.all.keys(keys);
 
});
 
 
done();
 
});
 
});
 
 
it("should get data from view with multiple clauses", (done) => {
 
let view = adapterScenario.multiClauseView;
 
adapter.getDataFromView(view, (err, result) => {
 
expect(err).to.be.a("null");
 
expect(result).to.be.an("array");
 
expect(result).to.have.length(0);
 
 
done();
 
});
 
});
 
 
it("should get data from view with a clause with not equal operator", (done) => {
 
let view = adapterScenario.notEqualView;
 
adapter.getDataFromView(view, (err, result) => {
 
expect(err).to.be.a("null");
 
expect(result).to.be.an("array");
 
expect(result).to.have.length(4);
 
expect(result[0]).to.be.an("object");
 
let keys: string[] = [];
 
keys = keys.concat(view.metrics.map((item) => item.name));
 
keys = keys.concat(view.dimensions.map((item) => item.name));
 
result.forEach((row) => {
 
expect(row).to.be.an("object");
 
expect(row).to.have.all.keys(keys);
 
});
 
 
done();
 
});
 
});
});
});
Loading