Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
test(adapter-tests): add multi:remove with default pagination test
  • Loading branch information
fratzinger committed Oct 16, 2021
commit 7d21eb8fbb98e090ee2b48b4ee4b62944ea9dc11
1 change: 1 addition & 0 deletions packages/adapter-tests/src/declarations.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ export type AdapterMethodsTestName =
'.remove + $select' |
'.remove + id + query' |
'.remove + multi' |
'.remove + multi default pagination' |
'.remove + id + query id' |
'.update' |
'.update + $select' |
Expand Down
60 changes: 60 additions & 0 deletions packages/adapter-tests/src/methods.ts
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,66 @@ export default (test: AdapterMethodsTest, app: any, _errors: any, serviceName: s
assert.ok(names.includes('David'), 'David removed');
});

test('.remove + multi default pagination', async () => {
try {
await service.remove(doug[idProp]);
} catch (error: any) {}

const count = 14;
const defaultPaginate = 10;

assert.ok(count > defaultPaginate, 'count is bigger than default pagination');

const multiBefore = service.options.multi;
const paginateBefore = service.options.paginate;

try {
service.options.multi = true;
service.options.paginate = {
'default': defaultPaginate,
'max': 100
};

let emptyItems = await service.find({ paginate: false });
assert.strictEqual(emptyItems.length, 0, 'no entries before')

const createdItems = await service.create(
Array.from(Array(count)).map((_, i) => ({ name: `name-${i}`, age: 3, created: true }))
);
assert.strictEqual(createdItems.length, count, `created ${count} entries`);

let foundItems = await service.find({ paginate: false });
assert.strictEqual(foundItems.length, count, `created ${count} entries`);

const foundPaginatedItems = await service.find({});
assert.strictEqual(foundPaginatedItems.data.length, defaultPaginate, 'found paginated data');

const data1 = await service.remove(null, { query: { created: true }, paginate: false });

assert.strictEqual(data1.length, count, `returned all ${ count } entries`);

emptyItems = await service.find({ paginate: false });
assert.strictEqual(emptyItems.length, 0, 'no entries before')

await service.create(
Array.from(Array(count)).map((_, i) => ({ name: `name-${i}`, age: 3, created: true }))
);

foundItems = await service.find({ paginate: false });
assert.strictEqual(foundItems.length, count, `created ${count} entries`);

const data2 = await service.remove(null, { query: { created: true } });

assert.strictEqual(data2.length, defaultPaginate, `returned paginated ${ defaultPaginate } entries`);

} finally {
await service.remove(null, { query: { created: true }, paginate: false });

service.options.multi = multiBefore;
service.options.paginate = paginateBefore;
}
});

test('.remove + id + query id', async () => {
const alice = await service.create({
name: 'Alice',
Expand Down