feat: Add deployment guide and update README for Coolify setup; include dotenv for environment variable management
This commit is contained in:
@@ -1,10 +1,13 @@
|
||||
import { ChatInputCommandInteraction } from "discord.js";
|
||||
import { pingCommand } from "../../src/commands/ping";
|
||||
|
||||
describe("pingCommand", () => {
|
||||
it("replies with Pong", async () => {
|
||||
const reply = jest.fn().mockResolvedValue(undefined);
|
||||
|
||||
await pingCommand.execute({ reply } as any);
|
||||
await pingCommand.execute({
|
||||
reply,
|
||||
} as unknown as ChatInputCommandInteraction);
|
||||
|
||||
expect(reply).toHaveBeenCalledWith("Pong!");
|
||||
});
|
||||
|
||||
@@ -20,15 +20,16 @@ describe("signUpCommand", () => {
|
||||
(getTourSchedule as jest.Mock).mockReturnValue(queue);
|
||||
});
|
||||
|
||||
function createInteraction(action: string): any {
|
||||
function createInteraction(action: string) {
|
||||
return {
|
||||
inGuild: () => true,
|
||||
guildId: "guild-1",
|
||||
user: { id: "user-1" },
|
||||
guild: { id: "guild-1" },
|
||||
memberPermissions: {
|
||||
has: jest.fn((permission: bigint) =>
|
||||
permission === PermissionFlagsBits.ManageChannels,
|
||||
has: jest.fn(
|
||||
(permission: bigint) =>
|
||||
permission === PermissionFlagsBits.ManageChannels,
|
||||
),
|
||||
},
|
||||
options: {
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import { GuildMember } from "discord.js";
|
||||
|
||||
const mockClient = {
|
||||
query: jest.fn(),
|
||||
release: jest.fn(),
|
||||
@@ -53,7 +55,7 @@ describe("MileageEngine flow", () => {
|
||||
}),
|
||||
},
|
||||
},
|
||||
} as any;
|
||||
} as unknown as GuildMember;
|
||||
|
||||
const engine = new MileageEngine({
|
||||
databaseUrl: "postgres://test",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { ChannelType } from "discord.js";
|
||||
import { ChannelType, Guild } from "discord.js";
|
||||
import { TourScheduleEngine } from "../../src/tour-schedule";
|
||||
|
||||
describe("TourScheduleEngine flow", () => {
|
||||
@@ -15,26 +15,24 @@ describe("TourScheduleEngine flow", () => {
|
||||
}),
|
||||
},
|
||||
channels: {
|
||||
fetch: jest
|
||||
.fn()
|
||||
.mockImplementation(async (channelId: string) => {
|
||||
if (channelId === "stage-1") {
|
||||
return {
|
||||
type: ChannelType.GuildStageVoice,
|
||||
};
|
||||
}
|
||||
fetch: jest.fn().mockImplementation(async (channelId: string) => {
|
||||
if (channelId === "stage-1") {
|
||||
return {
|
||||
type: ChannelType.GuildStageVoice,
|
||||
};
|
||||
}
|
||||
|
||||
if (channelId === "announce-1") {
|
||||
return {
|
||||
isSendable: () => true,
|
||||
send,
|
||||
};
|
||||
}
|
||||
if (channelId === "announce-1") {
|
||||
return {
|
||||
isSendable: () => true,
|
||||
send,
|
||||
};
|
||||
}
|
||||
|
||||
return null;
|
||||
}),
|
||||
return null;
|
||||
}),
|
||||
},
|
||||
} as any;
|
||||
} as unknown as Guild;
|
||||
|
||||
const engine = new TourScheduleEngine({
|
||||
stageChannelId: "stage-1",
|
||||
|
||||
Reference in New Issue
Block a user