@@ -25,8 +25,16 @@ test('getting yourself after creating project', async (t) => {
25
25
const deviceInfo = manager . getDeviceInfo ( )
26
26
const project = await manager . getProject ( await manager . createProject ( ) )
27
27
28
- const me = await project . $member . getById ( project . deviceId )
28
+ const { joinedAt, ...me } = await project . $member . getById ( project . deviceId )
29
+ assert . ok ( joinedAt , 'has a `joinedAt` field' )
29
30
31
+ const joinedAtUnix = new Date ( joinedAt ) . getTime ( )
32
+ const now = new Date ( ) . getTime ( )
33
+
34
+ assert . ok (
35
+ Math . abs ( joinedAtUnix - now ) < 1000 ,
36
+ 'time of joined project is close to now'
37
+ )
30
38
assert . deepEqual (
31
39
me ,
32
40
{
@@ -39,10 +47,11 @@ test('getting yourself after creating project', async (t) => {
39
47
)
40
48
41
49
const members = await project . $member . getMany ( )
50
+ const { joinedAt : _ , ...member } = members [ 0 ]
42
51
43
52
assert . equal ( members . length , 1 )
44
53
assert . deepEqual (
45
- members [ 0 ] ,
54
+ member ,
46
55
{
47
56
deviceId : project . deviceId ,
48
57
deviceType : 'tablet' ,
@@ -68,7 +77,14 @@ test('getting yourself after adding project (but not yet synced)', async (t) =>
68
77
)
69
78
)
70
79
71
- const me = await project . $member . getById ( project . deviceId )
80
+ const { joinedAt, ...me } = await project . $member . getById ( project . deviceId )
81
+ assert . ok ( joinedAt , 'joinedAt exists at project' )
82
+ const joinedAtUnix = new Date ( joinedAt ) . getTime ( )
83
+ const now = new Date ( ) . getTime ( )
84
+ assert . ok (
85
+ Math . abs ( now - joinedAtUnix ) < 1000 ,
86
+ 'time between joined project and now is short'
87
+ )
72
88
73
89
assert . deepEqual (
74
90
me ,
@@ -82,10 +98,11 @@ test('getting yourself after adding project (but not yet synced)', async (t) =>
82
98
)
83
99
84
100
const members = await project . $member . getMany ( )
101
+ const { joinedAt : _ , ...member } = members [ 0 ]
85
102
86
103
assert . equal ( members . length , 1 )
87
104
assert . deepEqual (
88
- members [ 0 ] ,
105
+ member ,
89
106
{
90
107
deviceId : project . deviceId ,
91
108
deviceType : 'tablet' ,
@@ -150,17 +167,27 @@ test('getting invited member after invite accepted', async (t) => {
150
167
assert . equal ( members . length , 2 )
151
168
152
169
const invitedMember = members . find ( ( m ) => m . deviceId === invitee . deviceId )
170
+ if ( invitedMember ) {
171
+ const { joinedAt, ...invitedMemberWithoutJoinedAt } = invitedMember
172
+ assert . ok ( joinedAt , 'joinedAt exists for project' )
173
+ const joinedAtUnix = new Date ( joinedAt ) . getTime ( )
174
+ const now = new Date ( ) . getTime ( )
175
+ assert . ok (
176
+ Math . abs ( now - joinedAtUnix ) < 1000 ,
177
+ 'time between joined project and now is short'
178
+ )
153
179
154
- assert . deepEqual (
155
- invitedMember ,
156
- {
157
- deviceId : invitee . deviceId ,
158
- deviceType : undefined ,
159
- name : inviteeName ,
160
- role : ROLES [ MEMBER_ROLE_ID ] ,
161
- } ,
162
- 'has expected member info with member role'
163
- )
180
+ assert . deepEqual (
181
+ invitedMemberWithoutJoinedAt ,
182
+ {
183
+ deviceId : invitee . deviceId ,
184
+ deviceType : undefined ,
185
+ name : inviteeName ,
186
+ role : ROLES [ MEMBER_ROLE_ID ] ,
187
+ } ,
188
+ 'has expected member info with member role'
189
+ )
190
+ }
164
191
165
192
// TODO: Test that device info of invited member can be read from invitor after syncing
166
193
} )
0 commit comments