from fixtures import * def test_change_username(app_admin): # these tests aren't supposed to mutate database rv = app_admin.post( "/auth/change_username", data={"username": "admin-tmp"}, follow_redirects=True ) assert rv.status_code == 200 rv = app_admin.get("/auth/account") assert b"admin-tmp" in rv.data rv = app_admin.post( "/auth/change_username", data={"username": "claire"}, follow_redirects=True ) assert rv.status_code == 400 rv = app_admin.get("/auth/account") assert b"admin-tmp" in rv.data rv = app_admin.post( "/auth/change_username", data={"username": "admin"}, follow_redirects=True ) assert rv.status_code == 200 rv = app_admin.get("/auth/account") assert b"admin-tmp" not in rv.data def test_username_redirect(app_admin): rv = app_admin.get("/u/admin") assert rv.status_code == 302 rv = app_admin.get("/u/bogus-not-registered") assert rv.status_code == 404