Skip to content

Commit c77059c

Browse files
author
gormanfletcher
committed
6641: Restructured /loginAs tests to reveal intent better and provide better errors on test failure
1 parent cfe9987 commit c77059c

File tree

1 file changed

+22
-28
lines changed

1 file changed

+22
-28
lines changed

spec/ParseUser.spec.js

Lines changed: 22 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -161,18 +161,17 @@ describe('Parse.User testing', () => {
161161
},
162162
});
163163

164-
const sessionToken = response.data.sessionToken;
165-
expect(sessionToken).toBeDefined();
166-
167-
const sessionsQuery = new Parse.Query(Parse.Session);
168-
const sessionsAfterRequest = await sessionsQuery.find({ useMasterKey: true });
169-
expect(sessionsAfterRequest.length).toBe(1);
170-
171-
done();
164+
expect(response.data.sessionToken).toBeDefined();
172165
} catch (err) {
173166
fail(`no request should fail: ${JSON.stringify(err)}`);
174167
done();
175168
}
169+
170+
const sessionsQuery = new Parse.Query(Parse.Session);
171+
const sessionsAfterRequest = await sessionsQuery.find({ useMasterKey: true });
172+
expect(sessionsAfterRequest.length).toBe(1);
173+
174+
done();
176175
});
177176

178177
it("/loginAs returns an error if a session is requested for a user ID that doesn't exist", async done => {
@@ -191,17 +190,16 @@ describe('Parse.User testing', () => {
191190
});
192191

193192
fail('Request should fail without a valid user ID');
194-
195193
done();
196194
} catch (err) {
197195
expect(err.data.code).toBe(Parse.Error.OBJECT_NOT_FOUND);
196+
}
198197

199-
const sessionsQuery = new Parse.Query(Parse.Session);
200-
const sessionsAfterRequest = await sessionsQuery.find({ useMasterKey: true });
201-
expect(sessionsAfterRequest.length).toBe(0);
198+
const sessionsQuery = new Parse.Query(Parse.Session);
199+
const sessionsAfterRequest = await sessionsQuery.find({ useMasterKey: true });
200+
expect(sessionsAfterRequest.length).toBe(0);
202201

203-
done();
204-
}
202+
done();
205203
});
206204

207205
it('/loginAs returns an error if a session is requested without specifying a user ID', async done => {
@@ -218,17 +216,16 @@ describe('Parse.User testing', () => {
218216
});
219217

220218
fail('Request should fail without a valid user ID');
221-
222219
done();
223220
} catch (err) {
224221
expect(err.data.code).toBe(Parse.Error.MISSING_OBJECT_ID);
222+
}
225223

226-
const sessionsQuery = new Parse.Query(Parse.Session);
227-
const sessionsAfterRequest = await sessionsQuery.find({ useMasterKey: true });
228-
expect(sessionsAfterRequest.length).toBe(0);
224+
const sessionsQuery = new Parse.Query(Parse.Session);
225+
const sessionsAfterRequest = await sessionsQuery.find({ useMasterKey: true });
226+
expect(sessionsAfterRequest.length).toBe(0);
229227

230-
done();
231-
}
228+
done();
232229
});
233230

234231
it('/loginAs forbids non-master clients from creating sessions', async done => {
@@ -250,19 +247,16 @@ describe('Parse.User testing', () => {
250247
});
251248

252249
fail('Request should fail without the master key');
253-
254250
done();
255251
} catch (err) {
256252
expect(err.data.code).toBe(Parse.Error.OPERATION_FORBIDDEN);
253+
}
257254

258-
const sessionsQuery = new Parse.Query(Parse.Session);
259-
const sessionsAfterRequest = await sessionsQuery.find({ useMasterKey: true });
260-
if (sessionsAfterRequest.length !== 0) {
261-
fail('Sessions table was modified without the master key');
262-
}
255+
const sessionsQuery = new Parse.Query(Parse.Session);
256+
const sessionsAfterRequest = await sessionsQuery.find({ useMasterKey: true });
257+
expect(sessionsAfterRequest.length).toBe(0);
263258

264-
done();
265-
}
259+
done();
266260
});
267261

268262
it('user login', async done => {

0 commit comments

Comments
 (0)