diff --git a/packages/api/jest.config.js b/packages/api/jest.config.js index 1436d78..c61c6a5 100644 --- a/packages/api/jest.config.js +++ b/packages/api/jest.config.js @@ -2,9 +2,6 @@ module.exports = { preset: 'ts-jest/presets/default-esm', name: 'api', testEnvironment: 'miniflare', - testEnvironmentOptions: { - envPath: '../../.env', - }, globals: { 'ts-jest': { tsconfig: '/tsconfig.test.json', diff --git a/packages/api/package.json b/packages/api/package.json index 25d14f8..a9a8515 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -7,6 +7,8 @@ "build": "yarn build:dev --minify", "build:dev": "esbuild --bundle --sourcemap --platform=node --format=esm --outdir=dist --out-extension:.js=.mjs ./src/index.ts", "lint:types": "tsc --noEmit", + "posttest": "rm .env", + "pretest": "cp ../../.env.example .env", "start": "miniflare --watch --debug", "test": "jest" }, diff --git a/packages/api/src/guilds/getters.spec.ts b/packages/api/src/guilds/getters.spec.ts index 8336462..4f1262d 100644 --- a/packages/api/src/guilds/getters.spec.ts +++ b/packages/api/src/guilds/getters.spec.ts @@ -22,7 +22,7 @@ beforeEach(() => { describe('getGuild', () => { it('gets a guild from discord', async () => { const [config] = configContext(); - const guild = { + const guild: APIGuild = { id: '123', name: 'test', icon: 'test', @@ -46,7 +46,7 @@ describe('getGuild', () => { roles: [], }; - await config.kv.guilds.put('123', guild, config.retention.guild); + await config.kv.guilds.put('guild/123', guild, config.retention.guild); mockDiscordFetch.mockReturnValue({ ...guild, name: 'test2' }); const result = await getGuild(config, '123'); @@ -220,7 +220,7 @@ describe('getGuildMember', () => { nick: 'test2', }; - await config.kv.guilds.put('123:members:123', member, config.retention.guild); + await config.kv.guilds.put('member/123/123', member, config.retention.guild); mockDiscordFetch.mockReturnValue({ ...member, nick: 'test' }); const result = await getGuildMember(config, '123', '123'); diff --git a/packages/api/src/guilds/getters.ts b/packages/api/src/guilds/getters.ts index 9f9be29..fba86dc 100644 --- a/packages/api/src/guilds/getters.ts +++ b/packages/api/src/guilds/getters.ts @@ -133,7 +133,7 @@ export const getGuildMember = async ( overrideRetention?: number // allows for own-member to be cached as long as it's used. ): Promise => config.kv.guilds.cacheThrough( - `members/${serverID}/${userID}`, + `member/${serverID}/${userID}`, async () => { const discordMember = await discordFetch( `/guilds/${serverID}/members/${userID}`, diff --git a/packages/api/src/routes/guilds/guild.spec.ts b/packages/api/src/routes/guilds/guild.spec.ts index fb57f1a..67279d9 100644 --- a/packages/api/src/routes/guilds/guild.spec.ts +++ b/packages/api/src/routes/guilds/guild.spec.ts @@ -37,6 +37,9 @@ describe('GET /guilds/:id', () => { roles: ['role-1'], pending: false, nick: '', + user: { + id: 'user-1', + }, }; const guildData: GuildData = { diff --git a/packages/api/src/routes/guilds/slug.spec.ts b/packages/api/src/routes/guilds/slug.spec.ts index a0823f6..2ac0b52 100644 --- a/packages/api/src/routes/guilds/slug.spec.ts +++ b/packages/api/src/routes/guilds/slug.spec.ts @@ -11,7 +11,7 @@ beforeEach(() => { mockGetGuild.mockReset(); }); -describe('GET /guilds/slug/:id', () => { +describe('GET /guilds/:id/slug', () => { it('returns a valid slug for a given discord server', async () => { const guild: APIGuild = { id: '123', @@ -31,7 +31,7 @@ describe('GET /guilds/slug/:id', () => { mockGetGuild.mockReturnValue(guild); - const response = await makeRequest('GET', `/guilds/slug/${guild.id}`); + const response = await makeRequest('GET', `/guilds/${guild.id}/slug`); expect(response.status).toBe(200); expect(await response.json()).toEqual({ diff --git a/packages/api/src/utils/config.ts b/packages/api/src/utils/config.ts index 8464eab..c12490b 100644 --- a/packages/api/src/utils/config.ts +++ b/packages/api/src/utils/config.ts @@ -45,8 +45,8 @@ export type Config = { _raw: Environment; }; -const toList = (x: string): string[] => x.split(','); -const safeURI = (x: string) => x.replace(/\/$/, ''); +const toList = (x: string): string[] => String(x).split(','); +const safeURI = (x: string) => String(x).replace(/\/$/, ''); export const parseEnvironment = (env: Environment): Config => { return {