* feat: API endpoints for email signin * fix: After testing * Initial signin flow working * move shared middleware * feat: Add guest signin toggle, obey on endpoints * feat: Basic email signin when enabled * Improve guest signin email Disable double signin with JWT * fix: Simple rate limiting * create placeholder users in db * fix: Give invited users default avatar add invited users to people settings * test * add transaction * tmp: test CI * derp * md5 * urgh * again * test: pass * test * fix: Remove usage of data values * guest signin page * Visually separator 'Invited' from other people tabs * fix: Edge case attempting SSO signin for guest email account * fix: Correctly set email auth method to cookie * Improve rate limit error display * lint: cleanup / comments * Improve invalid token error display * style tweaks * pass guest value to subdomain * Restore copy link option * feat: Allow invite revoke from people management * fix: Incorrect users email schema does not allow for user deletion * lint * fix: avatarUrl for deleted user failure * change default to off for guest invites * fix: Changing security settings wipes subdomain * fix: user delete permissioning * test: Add user.invite specs
142 lines
3.3 KiB
Plaintext
142 lines
3.3 KiB
Plaintext
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
|
|
exports[`#users.activate should activate a suspended user 1`] = `
|
|
Object {
|
|
"data": Object {
|
|
"avatarUrl": "https://tiley.herokuapp.com/avatar/111d68d06e2d317b5a59c2c6c5bad808/U.png",
|
|
"createdAt": "2018-01-02T00:00:00.000Z",
|
|
"email": "user1@example.com",
|
|
"id": "46fde1d4-0050-428f-9f0b-0bf77f4bdf61",
|
|
"isAdmin": false,
|
|
"isSuspended": false,
|
|
"lastActiveAt": null,
|
|
"name": "User 1",
|
|
},
|
|
"ok": true,
|
|
"status": 200,
|
|
}
|
|
`;
|
|
|
|
exports[`#users.activate should require admin 1`] = `
|
|
Object {
|
|
"error": "admin_required",
|
|
"message": "An admin role is required to access this resource",
|
|
"ok": false,
|
|
"status": 403,
|
|
}
|
|
`;
|
|
|
|
exports[`#users.delete should require authentication 1`] = `
|
|
Object {
|
|
"error": "authentication_required",
|
|
"message": "Authentication required",
|
|
"ok": false,
|
|
"status": 401,
|
|
}
|
|
`;
|
|
|
|
exports[`#users.demote should demote an admin 1`] = `
|
|
Object {
|
|
"data": Object {
|
|
"avatarUrl": "https://tiley.herokuapp.com/avatar/111d68d06e2d317b5a59c2c6c5bad808/U.png",
|
|
"createdAt": "2018-01-02T00:00:00.000Z",
|
|
"email": "user1@example.com",
|
|
"id": "46fde1d4-0050-428f-9f0b-0bf77f4bdf61",
|
|
"isAdmin": false,
|
|
"isSuspended": false,
|
|
"lastActiveAt": null,
|
|
"name": "User 1",
|
|
},
|
|
"ok": true,
|
|
"status": 200,
|
|
}
|
|
`;
|
|
|
|
exports[`#users.demote should not demote admins if only one available 1`] = `
|
|
Object {
|
|
"error": "validation_error",
|
|
"message": "At least one admin is required",
|
|
"ok": false,
|
|
"status": 400,
|
|
}
|
|
`;
|
|
|
|
exports[`#users.demote should require admin 1`] = `
|
|
Object {
|
|
"error": "admin_required",
|
|
"message": "An admin role is required to access this resource",
|
|
"ok": false,
|
|
"status": 403,
|
|
}
|
|
`;
|
|
|
|
exports[`#users.promote should promote a new admin 1`] = `
|
|
Object {
|
|
"data": Object {
|
|
"avatarUrl": "https://tiley.herokuapp.com/avatar/111d68d06e2d317b5a59c2c6c5bad808/U.png",
|
|
"createdAt": "2018-01-02T00:00:00.000Z",
|
|
"email": "user1@example.com",
|
|
"id": "46fde1d4-0050-428f-9f0b-0bf77f4bdf61",
|
|
"isAdmin": true,
|
|
"isSuspended": false,
|
|
"lastActiveAt": null,
|
|
"name": "User 1",
|
|
},
|
|
"ok": true,
|
|
"status": 200,
|
|
}
|
|
`;
|
|
|
|
exports[`#users.promote should require admin 1`] = `
|
|
Object {
|
|
"error": "admin_required",
|
|
"message": "An admin role is required to access this resource",
|
|
"ok": false,
|
|
"status": 403,
|
|
}
|
|
`;
|
|
|
|
exports[`#users.suspend should not allow suspending the user themselves 1`] = `
|
|
Object {
|
|
"error": "validation_error",
|
|
"message": "Unable to suspend the current user",
|
|
"ok": false,
|
|
"status": 400,
|
|
}
|
|
`;
|
|
|
|
exports[`#users.suspend should require admin 1`] = `
|
|
Object {
|
|
"error": "admin_required",
|
|
"message": "An admin role is required to access this resource",
|
|
"ok": false,
|
|
"status": 403,
|
|
}
|
|
`;
|
|
|
|
exports[`#users.suspend should suspend an user 1`] = `
|
|
Object {
|
|
"data": Object {
|
|
"avatarUrl": "https://tiley.herokuapp.com/avatar/111d68d06e2d317b5a59c2c6c5bad808/U.png",
|
|
"createdAt": "2018-01-02T00:00:00.000Z",
|
|
"email": "user1@example.com",
|
|
"id": "46fde1d4-0050-428f-9f0b-0bf77f4bdf61",
|
|
"isAdmin": false,
|
|
"isSuspended": true,
|
|
"lastActiveAt": null,
|
|
"name": "User 1",
|
|
},
|
|
"ok": true,
|
|
"status": 200,
|
|
}
|
|
`;
|
|
|
|
exports[`#users.update should require authentication 1`] = `
|
|
Object {
|
|
"error": "authentication_required",
|
|
"message": "Authentication required",
|
|
"ok": false,
|
|
"status": 401,
|
|
}
|
|
`;
|