@codexcentral/mock-axios-request
TypeScript icon, indicating that this package has built-in type declarations

1.3.0 • Public • Published

MockAxiosRequest

Functions to allow test the request and responses in Axios format.

Installation

npm install @codexcentral/mock-axios-request

Usage

1. Importing and creating a new instance

import { MockApiClient, MockApiClientConfig } from '@codexcentral/mock-axios-request';

const baseUrl = 'https://example.com/api';
const mockApi = new MockApiClient(baseUrl);

2. Mocking a request

GET

try {
  const config: MockApiClientConfig = {
    endpoint: '/users',
    status: 200, // Change this for the status you want to test
    response: [
      { id: 1, name: 'User 1' },
      { id: 2, name: 'User 2' },
      { id: 3, name: 'User 3' },
      { id: 4, name: 'User 4' },
    ],
  };
  const data = await mockApi.get<[{ id: string; name: string }]>(config);
  console.log('Data:', data);
} catch (error) {
  console.error('Error:', error);
}

POST

try {
  const config: MockApiClientConfig = {
    endpoint: '/users/5',
    status: 201, // Change this for the status you want to test
    request: { name: 'User 5' },
    response: { id: 5, name: 'User 5' },
  };
  const data = await mockApi.post<{ id: string; name: string }>(config);
  console.log('Data:', data);
} catch (error) {
  console.error('Error:', error);
}

PUT

try {
  const config: MockApiClientConfig = {
    endpoint: '/users/5',
    status: 200, // Change this for the status you want to test
    request: { name: 'User 5' },
    response: { id: 5, name: 'User 5' },
  };
  const data = await mockApi.put<{ id: string; name: string }>(config);
  console.log('Data:', data);
} catch (error) {
  console.error('Error:', error);
}

DELETE

try {
  const config: MockApiClientConfig = {
    endpoint: '/users/5',
    status: 200, // Change this for the status you want to test
    response: { id: 5, name: 'User 5' },
  };
  const data = await mockApi.delete<{ id: string; name: string }>(config);
  console.log('Data:', data);
} catch (error) {
  console.error('Error:', error);
}

MockApiClientConfig

Attribute Type Mandatory
endpoint string true
status number true (100 to 599)
headers array false
response array false
response array false
delayResponse number false (default: 1000 - in milliseconds)

Example of MockApiClientConfig

{
  "endpoint": "/users",
  "status": 200,
  "headers": [],
  "response": [],
  "response": [],
  "delayResponse": 1000
}

Credits

These code was written by Roberto Silva Z.

Package Sidebar

Install

npm i @codexcentral/mock-axios-request

Weekly Downloads

0

Version

1.3.0

License

Apache-2.0

Unpacked Size

42.9 kB

Total Files

23

Last publish

Collaborators

  • roberto.silva