style: cleanup tests and tsup configs

This commit is contained in:
iCrawl
2022-06-04 15:21:57 +02:00
parent a45bef4cad
commit 6b8ef20cb3
26 changed files with 310 additions and 306 deletions

View File

@@ -2,7 +2,8 @@
"root": true,
"extends": "marine/prettier/node",
"parserOptions": {
"project": "./tsconfig.eslint.json"
"project": "./tsconfig.eslint.json",
"extraFileExtensions": [".mjs"]
},
"ignorePatterns": ["**/dist/*"],
"env": {

View File

@@ -9,97 +9,97 @@ const defaultAvatar = 1234 % 5;
const cdn = new CDN(base);
test('appAsset default', () => {
expect(cdn.appAsset(id, hash)).toBe(`${base}/app-assets/${id}/${hash}.webp`);
expect(cdn.appAsset(id, hash)).toEqual(`${base}/app-assets/${id}/${hash}.webp`);
});
test('appIcon default', () => {
expect(cdn.appIcon(id, hash)).toBe(`${base}/app-icons/${id}/${hash}.webp`);
expect(cdn.appIcon(id, hash)).toEqual(`${base}/app-icons/${id}/${hash}.webp`);
});
test('avatar default', () => {
expect(cdn.avatar(id, hash)).toBe(`${base}/avatars/${id}/${hash}.webp`);
expect(cdn.avatar(id, hash)).toEqual(`${base}/avatars/${id}/${hash}.webp`);
});
test('avatar dynamic-animated', () => {
expect(cdn.avatar(id, animatedHash)).toBe(`${base}/avatars/${id}/${animatedHash}.gif`);
expect(cdn.avatar(id, animatedHash)).toEqual(`${base}/avatars/${id}/${animatedHash}.gif`);
});
test('avatar dynamic-not-animated', () => {
expect(cdn.avatar(id, hash)).toBe(`${base}/avatars/${id}/${hash}.webp`);
expect(cdn.avatar(id, hash)).toEqual(`${base}/avatars/${id}/${hash}.webp`);
});
test('banner default', () => {
expect(cdn.banner(id, hash)).toBe(`${base}/banners/${id}/${hash}.webp`);
expect(cdn.banner(id, hash)).toEqual(`${base}/banners/${id}/${hash}.webp`);
});
test('channelIcon default', () => {
expect(cdn.channelIcon(id, hash)).toBe(`${base}/channel-icons/${id}/${hash}.webp`);
expect(cdn.channelIcon(id, hash)).toEqual(`${base}/channel-icons/${id}/${hash}.webp`);
});
test('defaultAvatar default', () => {
expect(cdn.defaultAvatar(defaultAvatar)).toBe(`${base}/embed/avatars/${defaultAvatar}.png`);
expect(cdn.defaultAvatar(defaultAvatar)).toEqual(`${base}/embed/avatars/${defaultAvatar}.png`);
});
test('discoverySplash default', () => {
expect(cdn.discoverySplash(id, hash)).toBe(`${base}/discovery-splashes/${id}/${hash}.webp`);
expect(cdn.discoverySplash(id, hash)).toEqual(`${base}/discovery-splashes/${id}/${hash}.webp`);
});
test('emoji default', () => {
expect(cdn.emoji(id)).toBe(`${base}/emojis/${id}.webp`);
expect(cdn.emoji(id)).toEqual(`${base}/emojis/${id}.webp`);
});
test('emoji gif', () => {
expect(cdn.emoji(id, 'gif')).toBe(`${base}/emojis/${id}.gif`);
expect(cdn.emoji(id, 'gif')).toEqual(`${base}/emojis/${id}.gif`);
});
test('guildMemberAvatar default', () => {
expect(cdn.guildMemberAvatar(id, id, hash)).toBe(`${base}/guilds/${id}/users/${id}/avatars/${hash}.webp`);
expect(cdn.guildMemberAvatar(id, id, hash)).toEqual(`${base}/guilds/${id}/users/${id}/avatars/${hash}.webp`);
});
test('guildMemberAvatar dynamic-animated', () => {
expect(cdn.guildMemberAvatar(id, id, animatedHash)).toBe(
expect(cdn.guildMemberAvatar(id, id, animatedHash)).toEqual(
`${base}/guilds/${id}/users/${id}/avatars/${animatedHash}.gif`,
);
});
test('guildMemberAvatar dynamic-not-animated', () => {
expect(cdn.guildMemberAvatar(id, id, hash)).toBe(`${base}/guilds/${id}/users/${id}/avatars/${hash}.webp`);
expect(cdn.guildMemberAvatar(id, id, hash)).toEqual(`${base}/guilds/${id}/users/${id}/avatars/${hash}.webp`);
});
test('guildScheduledEventCover default', () => {
expect(cdn.guildScheduledEventCover(id, hash)).toBe(`${base}/guild-events/${id}/${hash}.webp`);
expect(cdn.guildScheduledEventCover(id, hash)).toEqual(`${base}/guild-events/${id}/${hash}.webp`);
});
test('icon default', () => {
expect(cdn.icon(id, hash)).toBe(`${base}/icons/${id}/${hash}.webp`);
expect(cdn.icon(id, hash)).toEqual(`${base}/icons/${id}/${hash}.webp`);
});
test('icon dynamic-animated', () => {
expect(cdn.icon(id, animatedHash)).toBe(`${base}/icons/${id}/${animatedHash}.gif`);
expect(cdn.icon(id, animatedHash)).toEqual(`${base}/icons/${id}/${animatedHash}.gif`);
});
test('icon dynamic-not-animated', () => {
expect(cdn.icon(id, hash)).toBe(`${base}/icons/${id}/${hash}.webp`);
expect(cdn.icon(id, hash)).toEqual(`${base}/icons/${id}/${hash}.webp`);
});
test('role icon default', () => {
expect(cdn.roleIcon(id, hash)).toBe(`${base}/role-icons/${id}/${hash}.webp`);
expect(cdn.roleIcon(id, hash)).toEqual(`${base}/role-icons/${id}/${hash}.webp`);
});
test('splash default', () => {
expect(cdn.splash(id, hash)).toBe(`${base}/splashes/${id}/${hash}.webp`);
expect(cdn.splash(id, hash)).toEqual(`${base}/splashes/${id}/${hash}.webp`);
});
test('sticker default', () => {
expect(cdn.sticker(id)).toBe(`${base}/stickers/${id}.png`);
expect(cdn.sticker(id)).toEqual(`${base}/stickers/${id}.png`);
});
test('stickerPackBanner default', () => {
expect(cdn.stickerPackBanner(id)).toBe(`${base}/app-assets/710982414301790216/store/${id}.webp`);
expect(cdn.stickerPackBanner(id)).toEqual(`${base}/app-assets/710982414301790216/store/${id}.webp`);
});
test('teamIcon default', () => {
expect(cdn.teamIcon(id, hash)).toBe(`${base}/team-icons/${id}/${hash}.webp`);
expect(cdn.teamIcon(id, hash)).toEqual(`${base}/team-icons/${id}/${hash}.webp`);
});
test('makeURL throws on invalid size', () => {
@@ -113,5 +113,5 @@ test('makeURL throws on invalid extension', () => {
});
test('makeURL valid size', () => {
expect(cdn.avatar(id, animatedHash, { size: 512 })).toBe(`${base}/avatars/${id}/${animatedHash}.gif?size=512`);
expect(cdn.avatar(id, animatedHash, { size: 512 })).toEqual(`${base}/avatars/${id}/${animatedHash}.gif?size=512`);
});

View File

@@ -13,14 +13,14 @@ test('Unauthorized', () => {
},
);
expect(error.code).toBe(0);
expect(error.message).toBe('401: Unauthorized');
expect(error.method).toBe('PATCH');
expect(error.name).toBe('DiscordAPIError[0]');
expect(error.status).toBe(401);
expect(error.url).toBe('https://discord.com/api/v10/guilds/:id');
expect(error.requestBody.files).toBe(undefined);
expect(error.requestBody.json).toBe(undefined);
expect(error.code).toEqual(0);
expect(error.message).toEqual('401: Unauthorized');
expect(error.method).toEqual('PATCH');
expect(error.name).toEqual('DiscordAPIError[0]');
expect(error.status).toEqual(401);
expect(error.url).toEqual('https://discord.com/api/v10/guilds/:id');
expect(error.requestBody.files).toBeUndefined();
expect(error.requestBody.json).toBeUndefined();
});
test('Invalid Form Body Error (error.{property}._errors.{index})', () => {
@@ -44,15 +44,15 @@ test('Invalid Form Body Error (error.{property}._errors.{index})', () => {
},
);
expect(error.code).toBe(50035);
expect(error.message).toBe(
expect(error.code).toEqual(50035);
expect(error.message).toEqual(
['Invalid Form Body', 'username[BASE_TYPE_BAD_LENGTH]: Must be between 2 and 32 in length.'].join('\n'),
);
expect(error.method).toBe('PATCH');
expect(error.name).toBe('DiscordAPIError[50035]');
expect(error.status).toBe(400);
expect(error.url).toBe('https://discord.com/api/v10/users/@me');
expect(error.requestBody.files).toBe(undefined);
expect(error.method).toEqual('PATCH');
expect(error.name).toEqual('DiscordAPIError[50035]');
expect(error.status).toEqual(400);
expect(error.url).toEqual('https://discord.com/api/v10/users/@me');
expect(error.requestBody.files).toBeUndefined();
expect(error.requestBody.json).toStrictEqual({ username: 'a' });
});
@@ -74,14 +74,14 @@ test('Invalid FormFields Error (error.errors.{property}.{property}.{index}.{prop
{},
);
expect(error.code).toBe(50035);
expect(error.message).toBe(
expect(error.code).toEqual(50035);
expect(error.message).toEqual(
['Invalid Form Body', 'embed.fields[0].value[BASE_TYPE_REQUIRED]: This field is required'].join('\n'),
);
expect(error.method).toBe('POST');
expect(error.name).toBe('DiscordAPIError[50035]');
expect(error.status).toBe(400);
expect(error.url).toBe('https://discord.com/api/v10/channels/:id');
expect(error.method).toEqual('POST');
expect(error.name).toEqual('DiscordAPIError[50035]');
expect(error.status).toEqual(400);
expect(error.url).toEqual('https://discord.com/api/v10/channels/:id');
});
test('Invalid FormFields Error (error.errors.{property}.{property}._errors.{index}._errors)', () => {
@@ -102,14 +102,14 @@ test('Invalid FormFields Error (error.errors.{property}.{property}._errors.{inde
{},
);
expect(error.code).toBe(50035);
expect(error.message).toBe(
expect(error.code).toEqual(50035);
expect(error.message).toEqual(
['Invalid Form Body', 'form_fields.label[0][BASE_TYPE_REQUIRED]: This field is required'].join('\n'),
);
expect(error.method).toBe('PATCH');
expect(error.name).toBe('DiscordAPIError[50035]');
expect(error.status).toBe(400);
expect(error.url).toBe('https://discord.com/api/v10/guilds/:id');
expect(error.method).toEqual('PATCH');
expect(error.name).toEqual('DiscordAPIError[50035]');
expect(error.status).toEqual(400);
expect(error.url).toEqual('https://discord.com/api/v10/guilds/:id');
});
test('Invalid Oauth Code Error (error.error)', () => {
@@ -133,10 +133,10 @@ test('Invalid Oauth Code Error (error.error)', () => {
},
);
expect(error.code).toBe('invalid_request');
expect(error.message).toBe('Invalid "code" in request.');
expect(error.method).toBe('POST');
expect(error.name).toBe('DiscordAPIError[invalid_request]');
expect(error.status).toBe(400);
expect(error.url).toBe('https://discord.com/api/v10/oauth2/token');
expect(error.code).toEqual('invalid_request');
expect(error.message).toEqual('Invalid "code" in request.');
expect(error.method).toEqual('POST');
expect(error.name).toEqual('DiscordAPIError[invalid_request]');
expect(error.status).toEqual(400);
expect(error.url).toEqual('https://discord.com/api/v10/oauth2/token');
});

View File

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

View File

@@ -4,13 +4,13 @@ import { resolveBody, parseHeader } from '../src/lib/utils/utils';
test('GIVEN string parseHeader returns string', () => {
const header = 'application/json';
expect(parseHeader(header)).toBe(header);
expect(parseHeader(header)).toEqual(header);
});
test('GIVEN string[] parseHeader returns string', () => {
const header = ['application/json', 'wait sorry I meant text/html'];
expect(parseHeader(header)).toBe(header.join(';'));
expect(parseHeader(header)).toEqual(header.join(';'));
});
test('GIVEN undefined parseHeader return undefined', () => {
@@ -18,15 +18,15 @@ test('GIVEN undefined parseHeader return undefined', () => {
});
test('resolveBody', async () => {
await expect(resolveBody(null)).resolves.toBe(null);
await expect(resolveBody(undefined)).resolves.toBe(null);
await expect(resolveBody('Hello')).resolves.toBe('Hello');
await expect(resolveBody(null)).resolves.toEqual(null);
await expect(resolveBody(undefined)).resolves.toEqual(null);
await expect(resolveBody('Hello')).resolves.toEqual('Hello');
await expect(resolveBody(new Uint8Array([1, 2, 3]))).resolves.toStrictEqual(new Uint8Array([1, 2, 3]));
// ArrayBuffers gets resolved to Uint8Array
await expect(resolveBody(new ArrayBuffer(8))).resolves.toStrictEqual(new Uint8Array(new ArrayBuffer(8)));
const urlSearchParams = new URLSearchParams([['a', 'b']]);
await expect(resolveBody(urlSearchParams)).resolves.toBe(urlSearchParams.toString());
await expect(resolveBody(urlSearchParams)).resolves.toEqual(urlSearchParams.toString());
const dataView = new DataView(new ArrayBuffer(8));
await expect(resolveBody(dataView)).resolves.toStrictEqual(new Uint8Array(new ArrayBuffer(8)));

View File

@@ -1,6 +1,6 @@
import type { Options } from 'tsup';
import { defineConfig } from 'tsup';
export const tsup: Options = {
export default defineConfig({
clean: true,
dts: false,
entryPoints: ['src/index.ts'],
@@ -17,4 +17,4 @@ export const tsup: Options = {
};
}
},
};
});