Mock HTTP requests in unit tests
This commit is contained in:
6
babel.config.js
Normal file
6
babel.config.js
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
export default {
|
||||||
|
presets: [
|
||||||
|
['@babel/preset-env', {targets: {node: 'current'}}],
|
||||||
|
'@babel/preset-typescript',
|
||||||
|
],
|
||||||
|
};
|
||||||
1497
package-lock.json
generated
1497
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -13,9 +13,13 @@
|
|||||||
"format": "prettier --write .",
|
"format": "prettier --write .",
|
||||||
"lint": "prettier --check . && eslint .",
|
"lint": "prettier --check . && eslint .",
|
||||||
"storybook": "storybook dev -p 6006",
|
"storybook": "storybook dev -p 6006",
|
||||||
"build-storybook": "storybook build"
|
"build-storybook": "storybook build",
|
||||||
|
"test": "jest"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@babel/core": "^7.28.5",
|
||||||
|
"@babel/preset-env": "^7.28.5",
|
||||||
|
"@babel/preset-typescript": "^7.28.5",
|
||||||
"@chromatic-com/storybook": "^4.1.2",
|
"@chromatic-com/storybook": "^4.1.2",
|
||||||
"@eslint/compat": "^1.4.0",
|
"@eslint/compat": "^1.4.0",
|
||||||
"@eslint/js": "^9.38.0",
|
"@eslint/js": "^9.38.0",
|
||||||
@@ -33,6 +37,7 @@
|
|||||||
"@tailwindcss/vite": "^4.1.14",
|
"@tailwindcss/vite": "^4.1.14",
|
||||||
"@types/node": "^24",
|
"@types/node": "^24",
|
||||||
"axios-mock-adapter": "^2.1.0",
|
"axios-mock-adapter": "^2.1.0",
|
||||||
|
"babel-jest": "^30.2.0",
|
||||||
"eslint": "^9.38.0",
|
"eslint": "^9.38.0",
|
||||||
"eslint-config-prettier": "^10.1.8",
|
"eslint-config-prettier": "^10.1.8",
|
||||||
"eslint-plugin-storybook": "^10.0.5",
|
"eslint-plugin-storybook": "^10.0.5",
|
||||||
|
|||||||
@@ -1,20 +1,27 @@
|
|||||||
import { Axios } from 'axios';
|
import axios from 'axios';
|
||||||
import MockAdapter from 'axios-mock-adapter';
|
import MockAdapter from 'axios-mock-adapter';
|
||||||
import { HeaptraderAPI } from './api';
|
import { HeaptraderAPI } from './api';
|
||||||
import { expect, jest, test } from '@jest/globals';
|
import { expect, jest, test } from '@jest/globals';
|
||||||
|
|
||||||
let mock: MockAdapter;
|
|
||||||
|
|
||||||
class HeaptraderAPITest extends HeaptraderAPI
|
class HeaptraderAPITest extends HeaptraderAPI
|
||||||
{
|
{
|
||||||
|
public _mock: MockAdapter;
|
||||||
|
|
||||||
constructor()
|
constructor()
|
||||||
{
|
{
|
||||||
super("");
|
super("");
|
||||||
mock = new MockAdapter(this._axios);
|
this._mock = new MockAdapter(axios);
|
||||||
|
this.setupMockResponses();
|
||||||
|
}
|
||||||
|
|
||||||
|
setupMockResponses(): void
|
||||||
|
{
|
||||||
|
this._mock.onGet("/up").reply(200, {});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
test('check uptime', async () => {
|
test('check uptime', async () => {
|
||||||
const api = new HeaptraderAPI();
|
const api = new HeaptraderAPITest();
|
||||||
await api.heartbeat();
|
const success = await api.heartbeat();
|
||||||
|
expect(success).toBe(true);
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user