react-restful
Version:
Another liblary for restful resources management for React app.
42 lines (36 loc) • 1.37 kB
text/typescript
import { Resource, ResourceParameter } from '../Resource';
import { User } from '../../test-resources';
describe('Resource', () => {
const createUserResource = new Resource<User>({
method: 'POST',
url: '/api/users/:branch'
});
const pathParam: ResourceParameter = {
type: 'path',
parameter: 'branch',
value: 1
};
const queryParam: ResourceParameter = {
type: 'query',
parameter: 'page',
value: 2
};
const bodyParams: ResourceParameter = {
type: 'body',
value: { id: 1 }
};
describe('instance', () => {
it('urlReslover', () => {
const url = createUserResource.urlReslover([pathParam, queryParam]);
expect(url).toBe('/api/users/1?page=2');
});
it('requestInitReslover', () => {
const requestInit = createUserResource.requestInitReslover([bodyParams]) as RequestInit;
const requestheaders = requestInit.headers as Headers;
const requestContentType = requestheaders.get('Content-Type');
expect(requestInit.method).toBe(createUserResource.method!);
expect(requestContentType).toBe('application/json');
expect(requestInit.body).toBe(JSON.stringify(bodyParams.value));
});
});
});