diff --git a/packages/reacord/test/link.test.tsx b/packages/reacord/test/link.test.tsx index 99b7f9c..da47aee 100644 --- a/packages/reacord/test/link.test.tsx +++ b/packages/reacord/test/link.test.tsx @@ -1,40 +1,48 @@ -import { test } from "vitest" -// import { ReacordTester } from "./test-adapter" +import { ButtonStyle, ComponentType } from "discord.js" +import React from "react" +import { beforeEach, expect, test } from "vitest" +import { Link } from "../library/main" +import { ReacordTester } from "./tester" -// const tester = new ReacordTester() - -test.skip("link", async () => { - // await tester.assertRender( - // <> - // link text - // - // - // , - // [ - // { - // content: "", - // embeds: [], - // actionRows: [ - // [ - // { - // type: "link", - // url: "https://example.com/", - // label: "link text", - // }, - // { - // type: "link", - // url: "https://example.com/", - // label: "link text", - // }, - // { - // type: "link", - // url: "https://example.com/", - // label: "link text", - // disabled: true, - // }, - // ], - // ], - // }, - // ], - // ) +let tester: ReacordTester +beforeEach(async () => { + tester = await ReacordTester.create() +}) + +test("link", async () => { + const { message } = await tester.render( + "link", + <> + link text + + + , + ) + + expect(message.components.map((c) => c.toJSON())).toEqual([ + { + type: ComponentType.ActionRow, + components: [ + { + type: ComponentType.Button, + style: ButtonStyle.Link, + url: "https://example.com/", + label: "link text", + }, + { + type: ComponentType.Button, + style: ButtonStyle.Link, + url: "https://example.com/", + label: "link text", + }, + { + type: ComponentType.Button, + style: ButtonStyle.Link, + url: "https://example.com/", + label: "link text", + disabled: true, + }, + ], + }, + ]) }) diff --git a/packages/reacord/test/reacord.test.tsx b/packages/reacord/test/reacord.test.tsx index 57eadc4..4d13bf8 100644 --- a/packages/reacord/test/reacord.test.tsx +++ b/packages/reacord/test/reacord.test.tsx @@ -1,6 +1,13 @@ +import { waitFor } from "@reacord/helpers/wait-for.js" import * as React from "react" -import { test } from "vitest" +import { beforeAll, expect, test } from "vitest" 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 () => { // const tester = new ReacordTester() @@ -231,27 +238,32 @@ test.skip("rendering behavior", async () => { // ]) }) -test.skip("delete", async () => { - // const tester = new ReacordTester() - // const reply = tester.reply() - // reply.render( - // <> - // some text - // some embed - //