Skip to content
This repository has been archived by the owner on Dec 11, 2024. It is now read-only.

Commit

Permalink
Requests -> RequestHandler Tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Kathund committed Sep 4, 2024
1 parent 6631a81 commit 41afd44
Show file tree
Hide file tree
Showing 3 changed files with 61 additions and 61 deletions.
59 changes: 59 additions & 0 deletions src/Private/RequestHandler.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
import Client from '../Client';
import RequestHandler from './RequestHandler';
import axios from 'axios';
import { expect, expectTypeOf, test, vi } from 'vitest';

test('RequestHandler', async () => {
const client = new Client(process.env.HYPIXEL_KEY ?? '');
expect(client).toBeDefined();
expectTypeOf(client).toEqualTypeOf<Client>();

expect(client.requestHandler).toBeDefined();
expectTypeOf(client.requestHandler).toEqualTypeOf<RequestHandler>();

expect(client.requestHandler.toUUID).toBeDefined();
expectTypeOf(client.requestHandler.toUUID).toBeFunction();
const data = await client.requestHandler.toUUID('pixelic');
expect(data).toBe('14727faefbdc4aff848cd2713eb9939e');
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-expect-error
expect(() => client.requestHandler.toUUID()).rejects.toThrowError(client.errors.NO_NICKNAME_UUID);
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-expect-error
expect(() => client.requestHandler.toUUID(-1)).rejects.toThrowError(client.errors.UUID_NICKNAME_MUST_BE_A_STRING);

client.destroy();
});

test('RequestHandler (Invalid API Key)', () => {
const client = new Client(process.env.HYPIXEL_KEY ?? '');
expect(client.requestHandler.request).toBeDefined();
expectTypeOf(client.requestHandler.request).toBeFunction();
const mockRequest = { status: 403, data: {} };
vi.spyOn(axios, 'get').mockResolvedValue(mockRequest);
expect(() => client.requestHandler.request('/boosters')).rejects.toThrowError(client.errors.INVALID_API_KEY);
vi.restoreAllMocks();
client.destroy();
});

test('RequestHandler (Unprocessable Entity)', () => {
const client = new Client(process.env.HYPIXEL_KEY ?? '');
expect(client.requestHandler.request).toBeDefined();
expectTypeOf(client.requestHandler.request).toBeFunction();
const mockRequest = { status: 422, data: {} };
vi.spyOn(axios, 'get').mockResolvedValue(mockRequest);
expect(() => client.requestHandler.request('/boosters')).rejects.toThrowError(client.errors.UNEXPECTED_ERROR);
vi.restoreAllMocks();
client.destroy();
});

test('RequestHandler (Rate Limited)', () => {
const client = new Client(process.env.HYPIXEL_KEY ?? '');
expect(client.requestHandler.request).toBeDefined();
expectTypeOf(client.requestHandler.request).toBeFunction();
const mockRequest = { status: 429, data: {} };
vi.spyOn(axios, 'get').mockResolvedValue(mockRequest);
expect(() => client.requestHandler.request('/boosters')).rejects.toThrowError(client.errors.RATE_LIMIT_EXCEEDED);
vi.restoreAllMocks();
client.destroy();
});
4 changes: 2 additions & 2 deletions src/Private/RequestHandler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ class RequestData {
}
}

class Requests {
class RequestHandler {
readonly client: Client;
constructor(client: Client) {
this.client = client;
Expand Down Expand Up @@ -125,4 +125,4 @@ class Requests {
}
}

export default Requests;
export default RequestHandler;
59 changes: 0 additions & 59 deletions src/Private/Requests.test.ts

This file was deleted.

0 comments on commit 41afd44

Please sign in to comment.