Files
Ella E.andGitHub d6c88f43f7 UX: Apply admin table to webhooks (#30317)
* UX: Apply admin table classes for consistent mobile styling on the web hooks page

* DEV: Remove icon on the status component; update status classes

* DEV: Update tests for webhook status component

* DEV: add space var with a smaller value

* DEV: Add styling for different status labels
2024-12-17 08:52:29 -07:00

60 lines
1.7 KiB
Plaintext

import { getOwner } from "@ember/owner";
import { render, rerender } from "@ember/test-helpers";
import { module, test } from "qunit";
import CoreFabricators from "discourse/lib/fabricators";
import { setupRenderingTest } from "discourse/tests/helpers/component-test";
import WebhookStatus from "admin/components/webhook-status";
module("Integration | Component | webhook-status", function (hooks) {
setupRenderingTest(hooks);
const DELIVERY_STATUSES = [
{ id: 1, name: "inactive" },
{ id: 2, name: "failed" },
{ id: 3, name: "successful" },
{ id: 4, name: "disabled" },
];
test("deliveryStatus", async function (assert) {
const webhook = new CoreFabricators(getOwner(this)).webhook();
await render(<template>
<WebhookStatus
@deliveryStatuses={{DELIVERY_STATUSES}}
@webhook={{webhook}}
/>
</template>);
assert.dom().hasText("Inactive");
webhook.set("last_delivery_status", 2);
await rerender();
assert.dom().hasText("Failed");
});
test("statusLabelClass", async function (assert) {
const webhook = new CoreFabricators(getOwner(this)).webhook();
await render(<template>
<WebhookStatus
@deliveryStatuses={{DELIVERY_STATUSES}}
@webhook={{webhook}}
/>
</template>);
assert.dom(".status-label").hasClass("--inactive");
webhook.set("last_delivery_status", 2);
await rerender();
assert.dom(".status-label").hasClass("--critical");
webhook.set("last_delivery_status", 3);
await rerender();
assert.dom(".status-label").hasClass("--success");
webhook.set("last_delivery_status", 4);
await rerender();
assert.dom(".status-label").hasClass("--inactive");
});
});