This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/app/assets/javascripts/discourse/tests/acceptance/admin-emails-test.js
Jarek Radosz a0a7b3f9c4
FIX: Correctly display /admin/emails errors (#17321)
Also removed unused codepath in `admin-badges-show`.
2022-07-04 16:03:53 +02:00

58 lines
1.7 KiB
JavaScript

import { acceptance, query } from "discourse/tests/helpers/qunit-helpers";
import { click, fillIn, visit } from "@ember/test-helpers";
import { test } from "qunit";
import pretender, { response } from "discourse/tests/helpers/create-pretender";
const EMAIL = `
From: "somebody" <somebody@example.com>
To: someone@example.com
Date: Mon, 3 Dec 2018 00:00:00 -0000
Subject: This is some subject
Content-Type: text/plain; charset="UTF-8"
Hello, this is a test!
---
This part should be elided.`;
acceptance("Admin - Emails", function (needs) {
needs.user();
test("shows selected and elided text", async function (assert) {
pretender.post("/admin/email/advanced-test", () => {
return response({
format: 1,
text: "Hello, this is a test!",
elided: "---\n\nThis part should be elided.",
});
});
await visit("/admin/email/advanced-test");
await fillIn("textarea.email-body", EMAIL.trim());
await click(".email-advanced-test button");
assert.strictEqual(query(".text pre").innerText, "Hello, this is a test!");
assert.strictEqual(
query(".elided pre").innerText,
"---\n\nThis part should be elided."
);
});
test("displays received errors when testing emails", async function (assert) {
pretender.get("/admin/email.json", () => {
return response({});
});
pretender.post("/admin/email/test", () => {
return response(422, { errors: ["some error"] });
});
await visit("/admin/email");
await fillIn(".admin-controls input", "test@example.com");
await click(".btn-primary");
assert.ok(query(".bootbox.modal").innerText.includes("some error"));
await click(".bootbox .btn-primary");
});
});