diff --git a/.env.sample b/.env.sample index d5e2a6052..09067154b 100644 --- a/.env.sample +++ b/.env.sample @@ -55,4 +55,4 @@ SMTP_PORT= SMTP_USERNAME= SMTP_PASSWORD= SMTP_FROM_EMAIL= -SMTP_REPLY_EMAIL= +SMTP_REPLY_EMAIL= \ No newline at end of file diff --git a/app/models/User.js b/app/models/User.js index a563bd0ed..4242642b9 100644 --- a/app/models/User.js +++ b/app/models/User.js @@ -7,6 +7,7 @@ class User extends BaseModel { name: string; email: string; isAdmin: boolean; + lastActiveAt: string; isSuspended: boolean; createdAt: string; } diff --git a/app/scenes/Settings/components/UserListItem.js b/app/scenes/Settings/components/UserListItem.js index a2a2094de..586ec92fd 100644 --- a/app/scenes/Settings/components/UserListItem.js +++ b/app/scenes/Settings/components/UserListItem.js @@ -51,7 +51,7 @@ class UserListItem extends React.Component { subtitle={ {user.email ? `${user.email} ยท ` : undefined} - Joined diff --git a/server/api/__snapshots__/users.test.js.snap b/server/api/__snapshots__/users.test.js.snap index 22e696a3a..aeb588f09 100644 --- a/server/api/__snapshots__/users.test.js.snap +++ b/server/api/__snapshots__/users.test.js.snap @@ -9,6 +9,7 @@ Object { "id": "46fde1d4-0050-428f-9f0b-0bf77f4bdf61", "isAdmin": false, "isSuspended": false, + "lastActiveAt": null, "name": "User 1", }, "ok": true, @@ -43,6 +44,7 @@ Object { "id": "46fde1d4-0050-428f-9f0b-0bf77f4bdf61", "isAdmin": false, "isSuspended": false, + "lastActiveAt": null, "name": "User 1", }, "ok": true, @@ -77,6 +79,7 @@ Object { "id": "46fde1d4-0050-428f-9f0b-0bf77f4bdf61", "isAdmin": false, "isSuspended": false, + "lastActiveAt": null, "name": "User 1", }, Object { @@ -85,6 +88,7 @@ Object { "id": "fa952cff-fa64-4d42-a6ea-6955c9689046", "isAdmin": true, "isSuspended": false, + "lastActiveAt": null, "name": "Admin User", }, ], @@ -108,6 +112,7 @@ Object { "id": "46fde1d4-0050-428f-9f0b-0bf77f4bdf61", "isAdmin": false, "isSuspended": false, + "lastActiveAt": null, "name": "User 1", }, Object { @@ -117,6 +122,7 @@ Object { "id": "fa952cff-fa64-4d42-a6ea-6955c9689046", "isAdmin": true, "isSuspended": false, + "lastActiveAt": null, "name": "Admin User", }, ], @@ -139,6 +145,7 @@ Object { "id": "46fde1d4-0050-428f-9f0b-0bf77f4bdf61", "isAdmin": true, "isSuspended": false, + "lastActiveAt": null, "name": "User 1", }, "ok": true, @@ -173,6 +180,7 @@ Object { "id": "46fde1d4-0050-428f-9f0b-0bf77f4bdf61", "isAdmin": false, "isSuspended": true, + "lastActiveAt": null, "name": "User 1", }, "ok": true, @@ -196,20 +204,4 @@ Object { "ok": false, "status": 401, } -`; - -exports[`#users.update should update user profile information 1`] = ` -Object { - "data": Object { - "avatarUrl": "http://example.com/avatar.png", - "createdAt": "2018-01-02T00:00:00.000Z", - "email": "user1@example.com", - "id": "46fde1d4-0050-428f-9f0b-0bf77f4bdf61", - "isAdmin": false, - "isSuspended": false, - "name": "New name", - }, - "ok": true, - "status": 200, -} -`; +`; \ No newline at end of file diff --git a/server/api/users.test.js b/server/api/users.test.js index a13e67611..9f5841b0d 100644 --- a/server/api/users.test.js +++ b/server/api/users.test.js @@ -107,7 +107,7 @@ describe('#users.update', async () => { const body = await res.json(); expect(res.status).toEqual(200); - expect(body).toMatchSnapshot(); + expect(body.data.name).toEqual('New name'); }); it('should require authentication', async () => { diff --git a/server/presenters/__snapshots__/user.test.js.snap b/server/presenters/__snapshots__/user.test.js.snap index cba56d1bc..f1f3b40bc 100644 --- a/server/presenters/__snapshots__/user.test.js.snap +++ b/server/presenters/__snapshots__/user.test.js.snap @@ -7,6 +7,7 @@ Object { "id": "123", "isAdmin": undefined, "isSuspended": undefined, + "lastActiveAt": undefined, "name": "Test User", } `; @@ -18,6 +19,7 @@ Object { "id": "123", "isAdmin": undefined, "isSuspended": undefined, + "lastActiveAt": undefined, "name": "Test User", } `; diff --git a/server/presenters/user.js b/server/presenters/user.js index 13f310a92..4299b3aa1 100644 --- a/server/presenters/user.js +++ b/server/presenters/user.js @@ -18,6 +18,7 @@ export default (user: User, options: Options = {}): ?UserPresentation => { const userData = {}; userData.id = user.id; userData.createdAt = user.createdAt; + userData.lastActiveAt = user.lastActiveAt; userData.name = user.name; userData.isAdmin = user.isAdmin; userData.isSuspended = user.isSuspended;