@applica-software-guru/crud-client
Version:
Libreria per l'accesso ai servizi REST di Applica.
78 lines (67 loc) • 1.86 kB
text/typescript
import { PASSWORD, USERNAME, createProviders, createRandomString } from './config';
import { describe, expect, it } from 'vitest';
describe('test getManyReference', async () => {
const { dataProvider, authProvider } = createProviders();
it('should fail when not logged in', async () => {
const id = 'fake';
expect(
dataProvider.getManyReference('entities/category', {
target: 'id',
id,
pagination: {
page: 1,
perPage: 10
},
sort: {
field: 'id',
order: 'ASC'
},
filter: {}
})
).rejects.toThrow('iam.error.forbidden');
});
it('should fail with invalid id', async () => {
const id = 'fake';
await authProvider.login({ username: USERNAME, password: PASSWORD });
const { data } = await dataProvider.getManyReference('entities/category', {
target: 'id',
id,
pagination: {
page: 1,
perPage: 10
},
sort: {
field: 'id',
order: 'ASC'
},
filter: {}
});
expect(data).toBeDefined();
expect(data?.length).toBe(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) }
}
});
expect(category).toBeDefined();
expect(category?.data?.id).toBeDefined();
const { data } = await dataProvider.getManyReference('entities/category', {
target: 'id',
id: category.data?.id,
pagination: {
page: 1,
perPage: 10
},
sort: {
field: 'id',
order: 'ASC'
},
filter: {}
});
expect(data).toBeDefined();
expect(data?.length).toBe(1);
});
});