This is the code that runs https://bandolier.learnjsthehardway.com/ for you to review. It uses the https://git.learnjsthehardway.com/learn-javascript-the-hard-way/bandolier-template to create the documentation for the project.
https://bandolier.learnjsthehardway.com/
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.
52 lines
1.5 KiB
52 lines
1.5 KiB
2 years ago
|
import test from 'ava';
|
||
|
import {login, expect, tid, playstart, playstop, register_user} from '../../lib/testing.js';
|
||
|
import { base_host } from "../../lib/config.js";
|
||
|
|
||
|
test.before(async t => t.context = await playstart(`${base_host}/client/#/profile`));
|
||
|
|
||
|
test.after(async t => {
|
||
|
await playstop(t.context.browser, t.context.p);
|
||
|
});
|
||
|
|
||
|
test('test /profile works', async (t) => {
|
||
|
const {p} = t.context;
|
||
|
const test_password = "newtestpassword";
|
||
|
|
||
|
try {
|
||
|
const user = await register_user(true);
|
||
|
await login(t, p, user);
|
||
|
await expect(t, p, tid("user-profile-button"));
|
||
|
await p.click(tid("user-profile-button"));
|
||
|
// confirm we get errors
|
||
|
await expect(t, p, tid("page-user-profile"));
|
||
|
|
||
|
// change the user's password, but fail
|
||
|
await p.fill("#password", test_password);
|
||
|
await p.click(tid("update-button"));
|
||
|
|
||
|
await expect(t, p, tid("password_repeat-error-0"));
|
||
|
|
||
|
// change the user's password for real
|
||
|
await p.fill("#password_repeat", test_password);
|
||
|
await p.click(tid("update-button"));
|
||
|
|
||
|
// should work now
|
||
|
const notice = await expect(t, p, tid("update-notice"));
|
||
|
t.is(notice, "User profile updated.");
|
||
|
|
||
|
await p.click(tid("logout-link"));
|
||
|
|
||
|
// attempt a login with the new password
|
||
|
user.raw_password = test_password;
|
||
|
await login(t, p, user);
|
||
|
|
||
|
// then try going back
|
||
|
await expect(t, p, tid("user-profile-button"));
|
||
|
await p.click(tid("user-profile-button"));
|
||
|
|
||
|
} catch (error) {
|
||
|
console.log(error);
|
||
|
t.fail(error.message);
|
||
|
}
|
||
|
});
|