@applica-software-guru/crud-client
Version:
Libreria per l'accesso ai servizi REST di Applica.
53 lines (38 loc) • 1.81 kB
text/typescript
import { PASSWORD, USERNAME, createProviders } from './config';
import { describe, expect, it } from 'vitest';
describe('test get', async () => {
const { dataProvider, authProvider } = createProviders();
it('should fail when not logged in', async () => {
expect(dataProvider.get('verbs/get', {})).rejects.toThrow('iam.error.forbidden');
});
it('should get', async () => {
await authProvider.login({ username: USERNAME, password: PASSWORD });
const { data } = await dataProvider.get('verbs/get', { param1: 'a', param2: 'b' });
expect(data?.value).toBeDefined();
expect(data?.value?.length).toBeGreaterThan(0);
expect(data?.value).toContain('a');
expect(data?.value).toContain('b');
});
it('should post', async () => {
await authProvider.login({ username: USERNAME, password: PASSWORD });
const { data } = await dataProvider.post('verbs/post', { param1: 'a', param2: 'b' });
expect(data?.value).toBeDefined();
expect(data?.value?.length).toBeGreaterThan(0);
expect(data?.value).toContain('a');
expect(data?.value).toContain('b');
});
it('should support timeout parameter in get method', async () => {
await authProvider.login({ username: USERNAME, password: PASSWORD });
// Test with a very short timeout - should fail
await expect(dataProvider.get('verbs/get', { param1: 'a', param2: 'b', timeout: 1 })).rejects.toThrow(
'error.request_timeout'
);
});
it('should support timeout parameter in post method', async () => {
await authProvider.login({ username: USERNAME, password: PASSWORD });
// Test with a very short timeout - should fail
await expect(dataProvider.post('verbs/post', { param1: 'a', param2: 'b', timeout: 1 })).rejects.toThrow(
'error.request_timeout'
);
});
});