Skip to content

Commit 1008cf9

Browse files
KalleVsamarpanB
authored andcommitted
test(sequelize): add test case for model settings where filter
Signed-off-by: KalleV <kvirtaneva@gmail.com>
1 parent 2cd4d83 commit 1008cf9

2 files changed

Lines changed: 33 additions & 0 deletions

File tree

extensions/sequelize/src/__tests__/fixtures/models/scoped-task.model.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ import {Entity, model, property} from '@loopback/repository';
77
settings: {
88
scope: {
99
limit: 1,
10+
where: {
11+
completed: false,
12+
},
1013
},
1114
},
1215
})
@@ -24,6 +27,12 @@ export class ScopedTask extends Entity {
2427
})
2528
title: string;
2629

30+
@property({
31+
type: 'boolean',
32+
default: false,
33+
})
34+
completed: boolean;
35+
2736
constructor(data?: Partial<ScopedTask>) {
2837
super(data);
2938
}

extensions/sequelize/src/__tests__/integration/repository.integration.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,30 @@ describe('Sequelize CRUD Repository (integration)', () => {
9797

9898
expect(tasksCustomLimit.length).to.be.eql(3);
9999
});
100+
101+
it('supports setting a default "where" filter in the Model settings', async () => {
102+
await Promise.all([
103+
scopedTaskRepo.create({title: 'Task 1', completed: true}),
104+
scopedTaskRepo.create({title: 'Task 2', completed: false}),
105+
]);
106+
107+
const tasksDefaultWhereFilter = await scopedTaskRepo.find({
108+
limit: 2,
109+
});
110+
111+
expect(tasksDefaultWhereFilter).to.have.lengthOf(1);
112+
expect(tasksDefaultWhereFilter[0].title).to.eql('Task 2');
113+
114+
const tasksCustomWhereFilter = await scopedTaskRepo.find({
115+
where: {
116+
completed: true,
117+
},
118+
limit: 2,
119+
});
120+
121+
expect(tasksCustomWhereFilter).to.have.lengthOf(1);
122+
expect(tasksCustomWhereFilter[0].title).to.eql('Task 1');
123+
});
100124
});
101125

102126
describe('defaultFn Support', () => {

0 commit comments

Comments
 (0)