Skip to content

Commit

Permalink
[#204] add logic test
Browse files Browse the repository at this point in the history
  • Loading branch information
Yngwarr committed Feb 27, 2024
1 parent 2904511 commit 14e8b75
Show file tree
Hide file tree
Showing 3 changed files with 183 additions and 1 deletion.
2 changes: 1 addition & 1 deletion sof-js/tests/fn_extension.test.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { describe }from "bun:test";
import { describe } from "bun:test";
import { add_test, end_case, start_case } from "./test_helpers";

const resources = [
Expand Down
64 changes: 64 additions & 0 deletions sof-js/tests/logic.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
import { describe } from "bun:test";
import { add_test, end_case, start_case } from "./test_helpers";

const resources = [
{
resourceType: "Patient",
id: "m0",
gender: "male",
deceasedBoolean: false
},
{
resourceType: "Patient",
id: "f0",
deceasedBoolean: false,
gender: "female"
},
{
resourceType: "Patient",
id: "m1",
gender: "male",
deceasedBoolean: true
},
{
resourceType: "Patient",
id: "f1",
gender: "female"
}
];

start_case('logic', 'TBD', resources);

describe('boolean logic', () => {
add_test({
title: "filtering with 'and'",
view: {
resource: "Patient",
where: [{ path: "gender = 'male' and deceased.ofType(boolean) = false" }],
select: [{ column: [{ path: "id", name: "id" }]}]
},
expect: [{ id: "m0" }]
});

add_test({
title: "filtering with 'or'",
view: {
resource: "Patient",
where: [{ path: "gender = 'male' or deceased.ofType(boolean) = false" }],
select: [{ column: [{ path: "id", name: "id"}]}]
},
expect: [{ id: "m0" }, { id: "m1" }, { id: "f0" }]
});

add_test({
title: "filtering with 'not'",
view: {
resource: "Patient",
where: [{ path: "(gender = 'male').not()" }],
select: [{ column: [{ path: "id", name: "id" }]}]
},
expect: [{ id: "f0" }, { id: "f1" }]
});

end_case();
});
118 changes: 118 additions & 0 deletions tests/logic.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
{
"title": "logic",
"description": "TBD",
"resources": [
{
"resourceType": "Patient",
"id": "m0",
"gender": "male",
"deceasedBoolean": false
},
{
"resourceType": "Patient",
"id": "f0",
"deceasedBoolean": false,
"gender": "female"
},
{
"resourceType": "Patient",
"id": "m1",
"gender": "male",
"deceasedBoolean": true
},
{
"resourceType": "Patient",
"id": "f1",
"gender": "female"
}
],
"tests": [
{
"title": "filtering with 'and'",
"view": {
"resource": "Patient",
"where": [
{
"path": "gender = 'male' and deceased.ofType(boolean) = false"
}
],
"select": [
{
"column": [
{
"path": "id",
"name": "id"
}
]
}
]
},
"expect": [
{
"id": "m0"
}
]
},
{
"title": "filtering with 'or'",
"view": {
"resource": "Patient",
"where": [
{
"path": "gender = 'male' or deceased.ofType(boolean) = false"
}
],
"select": [
{
"column": [
{
"path": "id",
"name": "id"
}
]
}
]
},
"expect": [
{
"id": "m0"
},
{
"id": "m1"
},
{
"id": "f0"
}
]
},
{
"title": "filtering with 'not'",
"view": {
"resource": "Patient",
"where": [
{
"path": "(gender = 'male').not()"
}
],
"select": [
{
"column": [
{
"path": "id",
"name": "id"
}
]
}
]
},
"expect": [
{
"id": "f0"
},
{
"id": "f1"
}
]
}
]
}

0 comments on commit 14e8b75

Please sign in to comment.