Add Jest for unit testing (incomplete)
This commit is contained in:
4144
package-lock.json
generated
4144
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -32,11 +32,13 @@
|
|||||||
"@tailwindcss/forms": "^0.5.10",
|
"@tailwindcss/forms": "^0.5.10",
|
||||||
"@tailwindcss/vite": "^4.1.14",
|
"@tailwindcss/vite": "^4.1.14",
|
||||||
"@types/node": "^24",
|
"@types/node": "^24",
|
||||||
|
"axios-mock-adapter": "^2.1.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",
|
||||||
"eslint-plugin-svelte": "^3.12.4",
|
"eslint-plugin-svelte": "^3.12.4",
|
||||||
"globals": "^16.4.0",
|
"globals": "^16.4.0",
|
||||||
|
"jest": "^30.2.0",
|
||||||
"prettier": "^3.6.2",
|
"prettier": "^3.6.2",
|
||||||
"prettier-plugin-svelte": "^3.4.0",
|
"prettier-plugin-svelte": "^3.4.0",
|
||||||
"prettier-plugin-tailwindcss": "^0.7.1",
|
"prettier-plugin-tailwindcss": "^0.7.1",
|
||||||
|
|||||||
20
src/lib/api.test.ts
Normal file
20
src/lib/api.test.ts
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
import { Axios } from 'axios';
|
||||||
|
import MockAdapter from 'axios-mock-adapter';
|
||||||
|
import { HeaptraderAPI } from './api';
|
||||||
|
import { expect, jest, test } from '@jest/globals';
|
||||||
|
|
||||||
|
let mock: MockAdapter;
|
||||||
|
|
||||||
|
class HeaptraderAPITest extends HeaptraderAPI
|
||||||
|
{
|
||||||
|
constructor()
|
||||||
|
{
|
||||||
|
super("");
|
||||||
|
mock = new MockAdapter(this._axios);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
test('check uptime', async () => {
|
||||||
|
const api = new HeaptraderAPI();
|
||||||
|
await api.heartbeat();
|
||||||
|
});
|
||||||
@@ -3,16 +3,16 @@ import { consola } from 'consola/browser';
|
|||||||
import type { Listing, User } from './models';
|
import type { Listing, User } from './models';
|
||||||
import { CreateListingRequestSchema, LoginRequestSchema, RegisterRequestSchema, type CreateListingRequest, type LoginRequest, type RegisterRequest } from './requests';
|
import { CreateListingRequestSchema, LoginRequestSchema, RegisterRequestSchema, type CreateListingRequest, type LoginRequest, type RegisterRequest } from './requests';
|
||||||
|
|
||||||
interface RequestError
|
export interface RequestError
|
||||||
{
|
{
|
||||||
message: string;
|
message: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
class HeaptraderAPI
|
export class HeaptraderAPI
|
||||||
{
|
{
|
||||||
private _axios: Axios;
|
protected _axios: Axios;
|
||||||
private _user?: User;
|
protected _user?: User;
|
||||||
private _lastUserUpdateTimeMs?: number;
|
protected _lastUserUpdateTimeMs?: number;
|
||||||
|
|
||||||
constructor(baseURL: string = "http://localhost")
|
constructor(baseURL: string = "http://localhost")
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user