Run only for external

This commit is contained in:
Adria Navarro 2024-08-05 12:35:09 +02:00
parent 2e23a0e4ce
commit 940a080e18
1 changed files with 146 additions and 144 deletions

View File

@ -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()
}) })
}) })
}) })