You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.5 KiB
54 lines
1.5 KiB
2 years ago
|
import test from 'ava';
|
||
|
import { sleep, login, expect, tid, register_user, playstart, playstop} from '../../lib/testing.js';
|
||
|
import { User } from "../../lib/models.js";
|
||
|
import { base_host } from "../../lib/config.js";
|
||
|
|
||
|
test.before(async t => t.context = await playstart(`${base_host}/client/#/login/`));
|
||
|
|
||
|
test.after(async t => {
|
||
|
await playstop(t.context.browser, t.context.p);
|
||
|
});
|
||
|
|
||
|
test('test /admin/email/ works', async (t) => {
|
||
|
const {p} = t.context;
|
||
|
let user;
|
||
|
|
||
|
try {
|
||
|
let user = await register_user(true);
|
||
|
t.is(user.admin, true);
|
||
|
t.not(user.email, undefined);
|
||
|
user = await login(t, p, user);
|
||
|
|
||
|
await p.goto(`${base_host}/admin/#/email-send/`);
|
||
|
|
||
|
// test the send test
|
||
|
await expect(t, p, tid("page-admin-email-send"));
|
||
|
await p.fill("#to_address", user.email);
|
||
|
await p.click(tid("send-button"));
|
||
|
await expect(t, p, tid("result-message"));
|
||
|
|
||
|
// test the dns resolve checker
|
||
|
await p.click(tid("sidebar-link-Email DNS"));
|
||
|
await expect(t, p, tid("domain-input"));
|
||
|
await p.fill("#domain_name", "xor.academy");
|
||
|
await p.press("#domain_name", "Enter");
|
||
|
|
||
|
await expect(t, p, tid("domain-result"));
|
||
|
|
||
|
// now try a bad domain
|
||
|
|
||
|
await p.fill("#domain_name", "doesnotexist.xor.academy");
|
||
|
await p.press("#domain_name", "Enter");
|
||
|
await expect(t, p, tid("domain-result"));
|
||
|
|
||
|
await sleep(2000);
|
||
|
await expect(t, p, tid("error-dns"));
|
||
|
|
||
|
} catch (error) {
|
||
|
console.log(error);
|
||
|
t.fail(error.message);
|
||
|
} finally {
|
||
|
if(user) await User.delete({id: user.id});
|
||
|
}
|
||
|
});
|