@applica-software-guru/crud-client
Version:
Libreria per l'accesso ai servizi REST di Applica.
65 lines (56 loc) • 1.8 kB
text/typescript
import { PASSWORD, USERNAME, createProviders, createRandomString } from './config';
import { describe, expect, it } from 'vitest';
describe('test getList', async () => {
const { dataProvider, authProvider } = createProviders();
it('should fail when not logged in', async () => {
expect(
dataProvider.getList('entities/category', {
pagination: {
page: 1,
perPage: 10
},
sort: {
field: 'id',
order: 'ASC'
}
})
).rejects.toThrow('iam.error.forbidden');
});
it('should success with empty params', async () => {
await authProvider.login({ username: USERNAME, password: PASSWORD });
await dataProvider.create('entities/category', {
data: {
description: { it: createRandomString(10) }
}
});
const { data } = await dataProvider.getList('entities/category', {});
expect(data).toBeDefined();
expect(data?.length).toBeGreaterThan(0);
});
it('should success with valid data', async () => {
await authProvider.login({ username: USERNAME, password: PASSWORD });
const category = await dataProvider.create('entities/category', {
data: {
description: { it: createRandomString(10) }
}
});
const { data: allRecords } = await dataProvider.getList('entities/category', {
pagination: {
page: 1,
perPage: 10
},
sort: {
field: 'id',
order: 'ASC'
}
});
expect(allRecords).toBeDefined();
const { data: filteredRecords } = await dataProvider.getList('entities/category', {
filter: {
'description.it__like': category.data?.description?.it
}
});
expect(filteredRecords).toBeDefined();
expect(filteredRecords?.length).toBe(1);
});
});