Run only for external
This commit is contained in:
parent
2e23a0e4ce
commit
940a080e18
|
@ -2693,160 +2693,162 @@ describe.each([
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
describe("$and", () => {
|
!isInternal &&
|
||||||
beforeAll(async () => {
|
describe("$and", () => {
|
||||||
table = await createTable({
|
beforeAll(async () => {
|
||||||
age: { name: "age", type: FieldType.NUMBER },
|
table = await createTable({
|
||||||
name: { name: "name", type: FieldType.STRING },
|
age: { name: "age", type: FieldType.NUMBER },
|
||||||
})
|
name: { name: "name", type: FieldType.STRING },
|
||||||
await createRows([
|
})
|
||||||
{ age: 1, name: "Jane" },
|
await createRows([
|
||||||
{ age: 10, name: "Jack" },
|
{ age: 1, name: "Jane" },
|
||||||
{ age: 7, name: "Hanna" },
|
{ age: 10, name: "Jack" },
|
||||||
{ age: 8, name: "Jan" },
|
{ age: 7, name: "Hanna" },
|
||||||
])
|
{ age: 8, name: "Jan" },
|
||||||
})
|
])
|
||||||
|
|
||||||
it("successfully finds a row for one level condition", async () => {
|
|
||||||
await expectQuery({
|
|
||||||
$and: {
|
|
||||||
conditions: [{ equal: { age: 10 } }, { equal: { name: "Jack" } }],
|
|
||||||
},
|
|
||||||
}).toContainExactly([{ age: 10, name: "Jack" }])
|
|
||||||
})
|
|
||||||
|
|
||||||
it("successfully finds a row for one level with multiple conditions", async () => {
|
|
||||||
await expectQuery({
|
|
||||||
$and: {
|
|
||||||
conditions: [{ equal: { age: 10 } }, { equal: { name: "Jack" } }],
|
|
||||||
},
|
|
||||||
}).toContainExactly([{ age: 10, name: "Jack" }])
|
|
||||||
})
|
|
||||||
|
|
||||||
it("successfully finds multiple rows for one level with multiple conditions", async () => {
|
|
||||||
await expectQuery({
|
|
||||||
$and: {
|
|
||||||
conditions: [
|
|
||||||
{ range: { age: { low: 1, high: 9 } } },
|
|
||||||
{ string: { name: "Ja" } },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
}).toContainExactly([
|
|
||||||
{ age: 1, name: "Jane" },
|
|
||||||
{ age: 8, name: "Jan" },
|
|
||||||
])
|
|
||||||
})
|
})
|
||||||
|
|
||||||
it("successfully finds rows for nested filters", async () => {
|
it("successfully finds a row for one level condition", async () => {
|
||||||
await expectQuery({
|
await expectQuery({
|
||||||
$and: {
|
$and: {
|
||||||
conditions: [
|
conditions: [{ equal: { age: 10 } }, { equal: { name: "Jack" } }],
|
||||||
{
|
},
|
||||||
$and: {
|
}).toContainExactly([{ age: 10, name: "Jack" }])
|
||||||
conditions: [
|
})
|
||||||
{
|
|
||||||
range: { age: { low: 1, high: 10 } },
|
it("successfully finds a row for one level with multiple conditions", async () => {
|
||||||
},
|
await expectQuery({
|
||||||
{ string: { name: "Ja" } },
|
$and: {
|
||||||
],
|
conditions: [{ equal: { age: 10 } }, { equal: { name: "Jack" } }],
|
||||||
|
},
|
||||||
|
}).toContainExactly([{ age: 10, name: "Jack" }])
|
||||||
|
})
|
||||||
|
|
||||||
|
it("successfully finds multiple rows for one level with multiple conditions", async () => {
|
||||||
|
await expectQuery({
|
||||||
|
$and: {
|
||||||
|
conditions: [
|
||||||
|
{ range: { age: { low: 1, high: 9 } } },
|
||||||
|
{ string: { name: "Ja" } },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
}).toContainExactly([
|
||||||
|
{ age: 1, name: "Jane" },
|
||||||
|
{ age: 8, name: "Jan" },
|
||||||
|
])
|
||||||
|
})
|
||||||
|
|
||||||
|
it("successfully finds rows for nested filters", async () => {
|
||||||
|
await expectQuery({
|
||||||
|
$and: {
|
||||||
|
conditions: [
|
||||||
|
{
|
||||||
|
$and: {
|
||||||
|
conditions: [
|
||||||
|
{
|
||||||
|
range: { age: { low: 1, high: 10 } },
|
||||||
|
},
|
||||||
|
{ string: { name: "Ja" } },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
equal: { name: "Jane" },
|
||||||
},
|
},
|
||||||
equal: { name: "Jane" },
|
],
|
||||||
},
|
},
|
||||||
],
|
}).toContainExactly([{ age: 1, name: "Jane" }])
|
||||||
},
|
})
|
||||||
}).toContainExactly([{ age: 1, name: "Jane" }])
|
|
||||||
})
|
it("returns nothing when filtering out all data", async () => {
|
||||||
|
await expectQuery({
|
||||||
it("returns nothing when filtering out all data", async () => {
|
$and: {
|
||||||
await expectQuery({
|
conditions: [{ equal: { age: 7 } }, { equal: { name: "Jack" } }],
|
||||||
$and: {
|
},
|
||||||
conditions: [{ equal: { age: 7 } }, { equal: { name: "Jack" } }],
|
}).toFindNothing()
|
||||||
},
|
|
||||||
}).toFindNothing()
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
describe("$or", () => {
|
|
||||||
beforeAll(async () => {
|
|
||||||
table = await createTable({
|
|
||||||
age: { name: "age", type: FieldType.NUMBER },
|
|
||||||
name: { name: "name", type: FieldType.STRING },
|
|
||||||
})
|
})
|
||||||
await createRows([
|
|
||||||
{ age: 1, name: "Jane" },
|
|
||||||
{ age: 10, name: "Jack" },
|
|
||||||
{ age: 7, name: "Hanna" },
|
|
||||||
{ age: 8, name: "Jan" },
|
|
||||||
])
|
|
||||||
})
|
})
|
||||||
|
|
||||||
it("successfully finds a row for one level condition", async () => {
|
!isInternal &&
|
||||||
await expectQuery({
|
describe("$or", () => {
|
||||||
$or: {
|
beforeAll(async () => {
|
||||||
conditions: [{ equal: { age: 7 } }, { equal: { name: "Jack" } }],
|
table = await createTable({
|
||||||
},
|
age: { name: "age", type: FieldType.NUMBER },
|
||||||
}).toContainExactly([
|
name: { name: "name", type: FieldType.STRING },
|
||||||
{ age: 10, name: "Jack" },
|
})
|
||||||
{ age: 7, name: "Hanna" },
|
await createRows([
|
||||||
])
|
{ age: 1, name: "Jane" },
|
||||||
})
|
{ age: 10, name: "Jack" },
|
||||||
|
{ age: 7, name: "Hanna" },
|
||||||
|
{ age: 8, name: "Jan" },
|
||||||
|
])
|
||||||
|
})
|
||||||
|
|
||||||
it("successfully finds a row for one level with multiple conditions", async () => {
|
it("successfully finds a row for one level condition", async () => {
|
||||||
await expectQuery({
|
await expectQuery({
|
||||||
$or: {
|
$or: {
|
||||||
conditions: [{ equal: { age: 7 } }, { equal: { name: "Jack" } }],
|
conditions: [{ equal: { age: 7 } }, { equal: { name: "Jack" } }],
|
||||||
},
|
},
|
||||||
}).toContainExactly([
|
}).toContainExactly([
|
||||||
{ age: 10, name: "Jack" },
|
{ age: 10, name: "Jack" },
|
||||||
{ age: 7, name: "Hanna" },
|
{ age: 7, name: "Hanna" },
|
||||||
])
|
])
|
||||||
})
|
})
|
||||||
|
|
||||||
it("successfully finds multiple rows for one level with multiple conditions", async () => {
|
it("successfully finds a row for one level with multiple conditions", async () => {
|
||||||
await expectQuery({
|
await expectQuery({
|
||||||
$or: {
|
$or: {
|
||||||
conditions: [
|
conditions: [{ equal: { age: 7 } }, { equal: { name: "Jack" } }],
|
||||||
{ range: { age: { low: 1, high: 9 } } },
|
},
|
||||||
{ string: { name: "Jan" } },
|
}).toContainExactly([
|
||||||
],
|
{ age: 10, name: "Jack" },
|
||||||
},
|
{ age: 7, name: "Hanna" },
|
||||||
}).toContainExactly([
|
])
|
||||||
{ age: 1, name: "Jane" },
|
})
|
||||||
{ age: 7, name: "Hanna" },
|
|
||||||
{ age: 8, name: "Jan" },
|
|
||||||
])
|
|
||||||
})
|
|
||||||
|
|
||||||
it("successfully finds rows for nested filters", async () => {
|
it("successfully finds multiple rows for one level with multiple conditions", async () => {
|
||||||
await expectQuery({
|
await expectQuery({
|
||||||
$or: {
|
$or: {
|
||||||
conditions: [
|
conditions: [
|
||||||
{
|
{ range: { age: { low: 1, high: 9 } } },
|
||||||
$or: {
|
{ string: { name: "Jan" } },
|
||||||
conditions: [
|
],
|
||||||
{
|
},
|
||||||
range: { age: { low: 1, high: 7 } },
|
}).toContainExactly([
|
||||||
},
|
{ age: 1, name: "Jane" },
|
||||||
{ string: { name: "Jan" } },
|
{ age: 7, name: "Hanna" },
|
||||||
],
|
{ age: 8, name: "Jan" },
|
||||||
|
])
|
||||||
|
})
|
||||||
|
|
||||||
|
it("successfully finds rows for nested filters", async () => {
|
||||||
|
await expectQuery({
|
||||||
|
$or: {
|
||||||
|
conditions: [
|
||||||
|
{
|
||||||
|
$or: {
|
||||||
|
conditions: [
|
||||||
|
{
|
||||||
|
range: { age: { low: 1, high: 7 } },
|
||||||
|
},
|
||||||
|
{ string: { name: "Jan" } },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
equal: { name: "Jane" },
|
||||||
},
|
},
|
||||||
equal: { name: "Jane" },
|
],
|
||||||
},
|
},
|
||||||
],
|
}).toContainExactly([
|
||||||
},
|
{ age: 1, name: "Jane" },
|
||||||
}).toContainExactly([
|
{ age: 7, name: "Hanna" },
|
||||||
{ age: 1, name: "Jane" },
|
{ age: 8, name: "Jan" },
|
||||||
{ age: 7, name: "Hanna" },
|
])
|
||||||
{ age: 8, name: "Jan" },
|
})
|
||||||
])
|
|
||||||
})
|
|
||||||
|
|
||||||
it("returns nothing when filtering out all data", async () => {
|
it("returns nothing when filtering out all data", async () => {
|
||||||
await expectQuery({
|
await expectQuery({
|
||||||
$or: {
|
$or: {
|
||||||
conditions: [{ equal: { age: 6 } }, { equal: { name: "John" } }],
|
conditions: [{ equal: { age: 6 } }, { equal: { name: "John" } }],
|
||||||
},
|
},
|
||||||
}).toFindNothing()
|
}).toFindNothing()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in New Issue