import * as React from "react" import { Button, Embed, EmbedField, EmbedTitle, ReacordTester, } from "../library/main" test("rendering behavior", async () => { const tester = new ReacordTester() const reply = tester.reply() reply.render( reply.deactivate()} />) await tester.assertMessages([ { content: "count: 0", embeds: [], actionRows: [ [ { type: "button", style: "primary", label: "clicc", }, { type: "button", style: "secondary", label: "show embed", }, { type: "button", style: "danger", label: "deactivate", }, ], ], }, ]) tester.findButtonByLabel("show embed").click() await tester.assertMessages([ { content: "count: 0", embeds: [{ title: "the counter" }], actionRows: [ [ { type: "button", style: "secondary", label: "hide embed", }, { type: "button", style: "primary", label: "clicc", }, { type: "button", style: "danger", label: "deactivate", }, ], ], }, ]) tester.findButtonByLabel("clicc").click() await tester.assertMessages([ { content: "count: 1", embeds: [ { title: "the counter", fields: [{ name: "is it even?", value: "no" }], }, ], actionRows: [ [ { type: "button", style: "secondary", label: "hide embed", }, { type: "button", style: "primary", label: "clicc", }, { type: "button", style: "danger", label: "deactivate", }, ], ], }, ]) tester.findButtonByLabel("clicc").click() await tester.assertMessages([ { content: "count: 2", embeds: [ { title: "the counter", fields: [{ name: "is it even?", value: "yes" }], }, ], actionRows: [ [ { type: "button", style: "secondary", label: "hide embed", }, { type: "button", style: "primary", label: "clicc", }, { type: "button", style: "danger", label: "deactivate", }, ], ], }, ]) tester.findButtonByLabel("hide embed").click() await tester.assertMessages([ { content: "count: 2", embeds: [], actionRows: [ [ { type: "button", style: "primary", label: "clicc", }, { type: "button", style: "secondary", label: "show embed", }, { type: "button", style: "danger", label: "deactivate", }, ], ], }, ]) tester.findButtonByLabel("clicc").click() await tester.assertMessages([ { content: "count: 3", embeds: [], actionRows: [ [ { type: "button", style: "primary", label: "clicc", }, { type: "button", style: "secondary", label: "show embed", }, { type: "button", style: "danger", label: "deactivate", }, ], ], }, ]) tester.findButtonByLabel("deactivate").click() await tester.assertMessages([ { content: "count: 3", embeds: [], actionRows: [ [ { type: "button", style: "primary", label: "clicc", disabled: true, }, { type: "button", style: "secondary", label: "show embed", disabled: true, }, { type: "button", style: "danger", label: "deactivate", disabled: true, }, ], ], }, ]) tester.findButtonByLabel("clicc").click() await tester.assertMessages([ { content: "count: 3", embeds: [], actionRows: [ [ { type: "button", style: "primary", label: "clicc", disabled: true, }, { type: "button", style: "secondary", label: "show embed", disabled: true, }, { type: "button", style: "danger", label: "deactivate", disabled: true, }, ], ], }, ]) }) test("delete", async () => { const tester = new ReacordTester() const reply = tester.reply() reply.render( <> some text some embed