more test fixes

This commit is contained in:
itsMapleLeaf
2022-08-06 10:22:12 -05:00
parent e1f5eda3c7
commit 6084ab23e0
3 changed files with 81 additions and 61 deletions

View File

@@ -1,40 +1,48 @@
import { test } from "vitest" import { ButtonStyle, ComponentType } from "discord.js"
// import { ReacordTester } from "./test-adapter" import React from "react"
import { beforeEach, expect, test } from "vitest"
import { Link } from "../library/main"
import { ReacordTester } from "./tester"
// const tester = new ReacordTester() let tester: ReacordTester
beforeEach(async () => {
test.skip("link", async () => { tester = await ReacordTester.create()
// await tester.assertRender( })
// <>
// <Link url="https://example.com/">link text</Link> test("link", async () => {
// <Link label="link text" url="https://example.com/" /> const { message } = await tester.render(
// <Link label="link text" url="https://example.com/" disabled /> "link",
// </>, <>
// [ <Link url="https://example.com/">link text</Link>
// { <Link label="link text" url="https://example.com/" />
// content: "", <Link label="link text" url="https://example.com/" disabled />
// embeds: [], </>,
// actionRows: [ )
// [
// { expect(message.components.map((c) => c.toJSON())).toEqual([
// type: "link", {
// url: "https://example.com/", type: ComponentType.ActionRow,
// label: "link text", components: [
// }, {
// { type: ComponentType.Button,
// type: "link", style: ButtonStyle.Link,
// url: "https://example.com/", url: "https://example.com/",
// label: "link text", label: "link text",
// }, },
// { {
// type: "link", type: ComponentType.Button,
// url: "https://example.com/", style: ButtonStyle.Link,
// label: "link text", url: "https://example.com/",
// disabled: true, label: "link text",
// }, },
// ], {
// ], type: ComponentType.Button,
// }, style: ButtonStyle.Link,
// ], url: "https://example.com/",
// ) label: "link text",
disabled: true,
},
],
},
])
}) })

View File

@@ -1,6 +1,13 @@
import { waitFor } from "@reacord/helpers/wait-for.js"
import * as React from "react" import * as React from "react"
import { test } from "vitest" import { beforeAll, expect, test } from "vitest"
import { Button, Embed, EmbedField, EmbedTitle } from "../library/main" import { Button, Embed, EmbedField, EmbedTitle } from "../library/main"
import { ReacordTester } from "./tester"
let tester: ReacordTester
beforeAll(async () => {
tester = await ReacordTester.create()
})
test.skip("rendering behavior", async () => { test.skip("rendering behavior", async () => {
// const tester = new ReacordTester() // const tester = new ReacordTester()
@@ -231,27 +238,32 @@ test.skip("rendering behavior", async () => {
// ]) // ])
}) })
test.skip("delete", async () => { test("destroy()", async () => {
// const tester = new ReacordTester() const { message, channel, instance } = await tester.render(
// const reply = tester.reply() "destroy()",
// reply.render( <>
// <> some text
// some text <Embed>some embed</Embed>
// <Embed>some embed</Embed> <Button label="some button" onClick={() => {}} />
// <Button label="some button" onClick={() => {}} /> </>,
// </>, )
// )
// await tester.assertMessages([ expect(message.content).toBe("some text")
// { expect(message.embeds.map((e) => e.toJSON())).toEqual([
// content: "some text", expect.objectContaining({ description: "some embed" }),
// embeds: [{ description: "some embed" }], ])
// actionRows: [ expect(message.components.map((a) => a.toJSON())).toEqual([
// [{ type: "button", style: "secondary", label: "some button" }], expect.objectContaining({
// ], components: [expect.objectContaining({ label: "some button" })],
// }, }),
// ]) ])
// reply.destroy()
// await tester.assertMessages([]) instance.destroy()
await waitFor(async () => {
const messages = await channel.messages.fetch()
expect(messages.size).toBe(0)
})
}) })
// test multiple instances that can be updated independently, // test multiple instances that can be updated independently,

View File

@@ -80,6 +80,6 @@ export class ReacordTester {
const result = await channel.awaitMessages({ max: 1 }) const result = await channel.awaitMessages({ max: 1 })
const message = result.first() ?? raise("failed to send message") const message = result.first() ?? raise("failed to send message")
return { message, instance } return { channel, message, instance }
} }
} }