Test both allOr and allAnd
This commit is contained in:
parent
53e01aa241
commit
c5476ce3b3
|
@ -1493,82 +1493,90 @@ describe.each([
|
||||||
})
|
})
|
||||||
|
|
||||||
isLucene &&
|
isLucene &&
|
||||||
it("in lucene, cannot override a view filter", async () => {
|
it.each([true, false])(
|
||||||
await config.api.row.save(table._id!, {
|
"in lucene, cannot override a view filter",
|
||||||
one: "foo",
|
async allOr => {
|
||||||
two: "bar",
|
await config.api.row.save(table._id!, {
|
||||||
})
|
one: "foo",
|
||||||
const two = await config.api.row.save(table._id!, {
|
two: "bar",
|
||||||
one: "foo2",
|
})
|
||||||
two: "bar2",
|
const two = await config.api.row.save(table._id!, {
|
||||||
})
|
one: "foo2",
|
||||||
|
two: "bar2",
|
||||||
|
})
|
||||||
|
|
||||||
const view = await config.api.viewV2.create({
|
const view = await config.api.viewV2.create({
|
||||||
tableId: table._id!,
|
tableId: table._id!,
|
||||||
name: generator.guid(),
|
name: generator.guid(),
|
||||||
query: [
|
query: [
|
||||||
{
|
{
|
||||||
operator: BasicOperator.EQUAL,
|
operator: BasicOperator.EQUAL,
|
||||||
field: "two",
|
field: "two",
|
||||||
value: "bar2",
|
value: "bar2",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
schema: {
|
||||||
|
id: { visible: true },
|
||||||
|
one: { visible: false },
|
||||||
|
two: { visible: true },
|
||||||
},
|
},
|
||||||
],
|
})
|
||||||
schema: {
|
|
||||||
id: { visible: true },
|
|
||||||
one: { visible: false },
|
|
||||||
two: { visible: true },
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
const response = await config.api.viewV2.search(view.id, {
|
const response = await config.api.viewV2.search(view.id, {
|
||||||
query: {
|
query: {
|
||||||
equal: {
|
allOr,
|
||||||
two: "bar",
|
equal: {
|
||||||
|
two: "bar",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
})
|
||||||
})
|
expect(response.rows).toHaveLength(1)
|
||||||
expect(response.rows).toHaveLength(1)
|
expect(response.rows).toEqual([
|
||||||
expect(response.rows).toEqual([
|
expect.objectContaining({ _id: two._id }),
|
||||||
expect.objectContaining({ _id: two._id }),
|
])
|
||||||
])
|
}
|
||||||
})
|
)
|
||||||
|
|
||||||
!isLucene &&
|
!isLucene &&
|
||||||
it("can filter a view without a view filter", async () => {
|
it.each([true, false])(
|
||||||
const one = await config.api.row.save(table._id!, {
|
"can filter a view without a view filter",
|
||||||
one: "foo",
|
async allOr => {
|
||||||
two: "bar",
|
const one = await config.api.row.save(table._id!, {
|
||||||
})
|
one: "foo",
|
||||||
await config.api.row.save(table._id!, {
|
two: "bar",
|
||||||
one: "foo2",
|
})
|
||||||
two: "bar2",
|
await config.api.row.save(table._id!, {
|
||||||
})
|
one: "foo2",
|
||||||
|
two: "bar2",
|
||||||
|
})
|
||||||
|
|
||||||
const view = await config.api.viewV2.create({
|
const view = await config.api.viewV2.create({
|
||||||
tableId: table._id!,
|
tableId: table._id!,
|
||||||
name: generator.guid(),
|
name: generator.guid(),
|
||||||
schema: {
|
schema: {
|
||||||
id: { visible: true },
|
id: { visible: true },
|
||||||
one: { visible: false },
|
one: { visible: false },
|
||||||
two: { visible: true },
|
two: { visible: true },
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
const response = await config.api.viewV2.search(view.id, {
|
|
||||||
query: {
|
|
||||||
equal: {
|
|
||||||
two: "bar",
|
|
||||||
},
|
},
|
||||||
},
|
})
|
||||||
})
|
|
||||||
expect(response.rows).toHaveLength(1)
|
const response = await config.api.viewV2.search(view.id, {
|
||||||
expect(response.rows).toEqual([
|
query: {
|
||||||
expect.objectContaining({ _id: one._id }),
|
allOr,
|
||||||
])
|
equal: {
|
||||||
})
|
two: "bar",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
expect(response.rows).toHaveLength(1)
|
||||||
|
expect(response.rows).toEqual([
|
||||||
|
expect.objectContaining({ _id: one._id }),
|
||||||
|
])
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
!isLucene &&
|
!isLucene &&
|
||||||
it("cannot bypass a view filter", async () => {
|
it.each([true, false])("cannot bypass a view filter", async allOr => {
|
||||||
await config.api.row.save(table._id!, {
|
await config.api.row.save(table._id!, {
|
||||||
one: "foo",
|
one: "foo",
|
||||||
two: "bar",
|
two: "bar",
|
||||||
|
@ -1597,6 +1605,7 @@ describe.each([
|
||||||
|
|
||||||
const response = await config.api.viewV2.search(view.id, {
|
const response = await config.api.viewV2.search(view.id, {
|
||||||
query: {
|
query: {
|
||||||
|
allOr,
|
||||||
equal: {
|
equal: {
|
||||||
two: "bar",
|
two: "bar",
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue