56 lines
1.4 KiB
TypeScript
56 lines
1.4 KiB
TypeScript
|
/* eslint-disable spaced-comment */
|
||
|
// TODO: Add tests
|
||
|
import { Client, GatewayIntents as GI, Embed } from '../mod.ts'
|
||
|
import { TOKEN } from '../src/test/config.ts'
|
||
|
import {
|
||
|
assertEquals,
|
||
|
assertExists
|
||
|
} from 'https://deno.land/std@0.84.0/testing/asserts.ts'
|
||
|
|
||
|
//#region Lib Tests
|
||
|
Deno.test({
|
||
|
name: '[Lib] Embed',
|
||
|
fn() {
|
||
|
const embed = new Embed()
|
||
|
.setTitle('Title')
|
||
|
.setDescription('Description')
|
||
|
.addField('F1N', 'F1V', false)
|
||
|
.addField('F2N', 'F2V', true)
|
||
|
.setColor(0xff0000)
|
||
|
.setFooter('Footer', 'https://google.com')
|
||
|
.setAuthor('Author', 'https://google.com')
|
||
|
|
||
|
assertEquals(
|
||
|
JSON.stringify(embed.toJSON()),
|
||
|
`{"title":"Title","description":"Description","color":16711680,"footer":{"text":"Footer","icon_url":"https://google.com"},"author":{"name":"Author","icon_url":"https://google.com"},"fields":[{"name":"F1N","value":"F1V","inline":false},{"name":"F2N","value":"F2V","inline":true}]}`
|
||
|
)
|
||
|
}
|
||
|
})
|
||
|
|
||
|
//#endregion
|
||
|
|
||
|
//#region API Tests
|
||
|
const client = new Client({
|
||
|
token: TOKEN,
|
||
|
intents: [GI.GUILDS, GI.GUILD_MESSAGES, GI.DIRECT_MESSAGES]
|
||
|
})
|
||
|
|
||
|
await client.connect()
|
||
|
Deno.test({
|
||
|
name: '[API] Client Ready',
|
||
|
fn() {
|
||
|
assertExists(client.user)
|
||
|
}
|
||
|
})
|
||
|
//#endregion
|
||
|
|
||
|
Deno.test({
|
||
|
name: '[API] Cleanup',
|
||
|
fn() {
|
||
|
setTimeout(() => {
|
||
|
client.destroy()
|
||
|
Deno.exit()
|
||
|
}, 100)
|
||
|
}
|
||
|
})
|