refactor(REST): remove double classing (#9722)

* refactor(REST): remove double classing

BREAKING CHANGE: `REST` and `RequestManager` have been combined, most of the properties, methods, and events from both classes can now be found on `REST`
BREAKING CHANGE: `REST#raw` has been removed in favor of `REST#queueRequest`
BREAKING CHANGE: `REST#getAgent` has been removed in favor of `REST#agent`

* chore: update for /rest changes
This commit is contained in:
ckohen
2023-07-25 01:40:21 -07:00
committed by GitHub
parent 6307f81385
commit 8f4256db8a
19 changed files with 774 additions and 832 deletions

View File

@@ -40,7 +40,7 @@ const responseOptions: MockInterceptor.MockResponseOptions = {
test('Interaction callback creates burst handler', async () => {
mockPool.intercept({ path: callbackPath, method: 'POST' }).reply(200);
expect(api.requestManager.handlers.get(callbackKey)).toBe(undefined);
expect(api.handlers.get(callbackKey)).toBe(undefined);
expect(
await api.post('/interactions/1234567890123456789/totallyarealtoken/callback', {
auth: false,
@@ -48,7 +48,7 @@ test('Interaction callback creates burst handler', async () => {
}),
// TODO: This should be ArrayBuffer, there is a bug in undici request
).toBeInstanceOf(Uint8Array);
expect(api.requestManager.handlers.get(callbackKey)).toBeInstanceOf(BurstHandler);
expect(api.handlers.get(callbackKey)).toBeInstanceOf(BurstHandler);
});
test('Requests are handled in bursts', async () => {

View File

@@ -106,7 +106,7 @@ test('Significant Invalid Requests', async () => {
await expect(e).rejects.toThrowError('Missing Permissions');
expect(invalidListener).toHaveBeenCalledTimes(0);
// eslint-disable-next-line require-atomic-updates
api.requestManager.options.invalidRequestWarningInterval = 2;
api.options.invalidRequestWarningInterval = 2;
const [f, g, h, i, j] = [
api.get('/badRequest'),
@@ -504,7 +504,7 @@ test('Unauthorized', async () => {
.reply(401, { message: '401: Unauthorized', code: 0 }, responseOptions)
.times(2);
const setTokenSpy = vitest.spyOn(invalidAuthApi.requestManager, 'setToken');
const setTokenSpy = vitest.spyOn(invalidAuthApi, 'setToken');
// Ensure authless requests don't reset the token
const promiseWithoutTokenClear = invalidAuthApi.get('/unauthorized', { auth: false });

View File

@@ -36,5 +36,5 @@ test('no token', async () => {
test('negative offset', () => {
const badREST = new REST({ offset: -5_000 });
expect(badREST.requestManager.options.offset).toEqual(0);
expect(badREST.options.offset).toEqual(0);
});