Skip to content

Commit

Permalink
Merge pull request #290 from projektwahl/work2
Browse files Browse the repository at this point in the history
Test setting empty password fails.
  • Loading branch information
mohe2015 authored Apr 14, 2022
2 parents dc66fb7 + ee34e90 commit 9f72b3a
Showing 1 changed file with 87 additions and 0 deletions.
87 changes: 87 additions & 0 deletions tests/e2e/new-tests.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1489,6 +1489,87 @@ async function testHelperCreatesProjectWithProjectLeadersAndMembers(
assert.equal(alerts2.length, 1);
}

async function checkSettingEmptyPasswordFails(helper: Helper) {
await loginCorrect(helper);

await helper.openNavbar();
await helper.click(
await helper.driver.findElement(By.css(`a[href="/users"]`))
);

await helper.form("pw-users");
await helper.click(
await helper.driver.findElement(By.css(`a[href="/users/create"]`))
);
let form = await helper.form("pw-user-create");
const username = `username${crypto.getRandomValues(new Uint32Array(1))[0]}`;

await (
await helper.driver.findElement(
By.css('select[name="0,type"] option[value="helper"]')
)
).click();

await form.setField("0,username", username);
await form.submitSuccess();
await helper.driver.wait(until.urlContains("/users/edit/"), 2000);
const id = (await helper.driver.getCurrentUrl()).match(
/\/users\/edit\/(\d+)/
)?.[1];
if (!id) {
assert.fail("id not found in url");
}
await helper.waitUntilLoaded();

await helper.click(
await helper.driver.findElement(By.css(`a[href="/logout"]`))
);
await helper.form("pw-login");
form = await helper.form("pw-login");
await form.setField("username", username);
await form.setField("password", "");

assert.deepStrictEqual(
[["password", "Kein Password für Account gesetzt!"]],
await form.submitFailure()
);

await loginCorrect(helper);

await helper.click(
await helper.driver.findElement(By.css(`a[href="/users"]`))
);
form = await helper.form("pw-users");
await form.setField("filters,id", id);
await helper.waitUntilLoaded();

await helper.click(
await helper.driver.findElement(By.css(`a[href="/users/edit/${id}"]`))
);
await helper.waitUntilLoaded();

form = await helper.form("pw-user-create");
await helper.waitUntilLoaded();
await form.resetField("0,password", "hopefullynotsaved");
await form.resetField("0,password", "");
await form.submitSuccess();

await helper.click(
await helper.driver.findElement(By.css(`a[href="/logout"]`))
);
await helper.form("pw-login");
form = await helper.form("pw-login");
await form.setField("username", username);
await form.setField("password", "");

assert.deepStrictEqual(
[["password", "Kein Password für Account gesetzt!"]],
await form.submitFailure()
);

await loginCorrect(helper);
}

console.log(argv);

if (argv.length !== 3) {
Expand Down Expand Up @@ -1580,6 +1661,12 @@ await runTest(argv[2], async (helper) => {

await checkNotLoggedInProjects(helper);
await helper.driver.manage().deleteAllCookies();

// login ratelimiting
await helper.driver.sleep(5000);

await checkSettingEmptyPasswordFails(helper);
await helper.driver.manage().deleteAllCookies();
});

await sql.end();

0 comments on commit 9f72b3a

Please sign in to comment.