Skip to content
This repository was archived by the owner on Sep 3, 2022. It is now read-only.

Commit 8b0e6c6

Browse files
author
King Long Tse
authored
test now covers p/i/t/a/g (#160)
* test now covers p/i/t/a/g * added login/logout test
1 parent bbf5240 commit 8b0e6c6

File tree

4 files changed

+573
-20
lines changed

4 files changed

+573
-20
lines changed

test-e2e/ajs.codecept.js

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ Scenario(
1010
I.click('#page-home');
1111
I.click('#track-checkout-started');
1212
I.click('#identify-fathy');
13+
I.click('#group');
14+
I.click('#alias');
1315

1416
await I.stopRecording(testID);
1517

@@ -22,3 +24,36 @@ Scenario(
2224
assert.equal(lsUserId, `"fathy"`);
2325
}
2426
).injectDependencies({ testID: 'cookies-and-local-storage' });
27+
28+
Scenario('Login as a different user', async (I, testID) => {
29+
I.loadAJS({ local: true });
30+
31+
I.startRecording(testID);
32+
33+
I.click('#identify-spongebob');
34+
let userId = await I.grabCookie('ajs_user_id');
35+
assert.equal(userId.value, '%22spongebob%22');
36+
let lsUserId = await I.executeScript(() => {
37+
return localStorage.getItem('ajs_user_id');
38+
});
39+
assert.equal(lsUserId, `"spongebob"`);
40+
I.click('#track-product-viewed');
41+
42+
I.click('#identify-fathy');
43+
userId = await I.grabCookie('ajs_user_id');
44+
assert.equal(userId.value, '%22fathy%22');
45+
lsUserId = await I.executeScript(() => {
46+
return localStorage.getItem('ajs_user_id');
47+
});
48+
assert.equal(lsUserId, `"fathy"`);
49+
I.click('#track-product-viewed');
50+
51+
I.click('#reset');
52+
userId = await I.grabCookie('ajs_user_id');
53+
assert.strictEqual(userId, undefined);
54+
lsUserId = await I.executeScript(() => {
55+
return localStorage.getItem('ajs_user_id');
56+
});
57+
assert.strictEqual(lsUserId, null);
58+
await I.stopRecording(testID);
59+
}).injectDependencies({ testID: 'login-as-different-user' });

test-e2e/reference/cookies-and-local-storage.har

Lines changed: 186 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
},
99
"entries": [
1010
{
11-
"_id": "77d8a02c872d95c9974520c85a48ec7a",
11+
"_id": "202717a71da0dce990beec6f6dc4f611",
1212
"_order": 0,
1313
"cache": {},
1414
"request": {
@@ -34,7 +34,7 @@
3434
"postData": {
3535
"mimeType": "text/plain",
3636
"params": [],
37-
"text": "{\"timestamp\":\"2020-06-22T18:38:11.510Z\",\"context\":{\"page\":{\"path\":\"/\",\"referrer\":\"http://localhost:8000/\",\"search\":\"?writeKey=WJq9vAlUO5l2255jMg7eEthbkDtq1svu&cdnHost=localhost%3A8000\",\"title\":\"AJS tester\",\"url\":\"http://localhost:8000/?writeKey=WJq9vAlUO5l2255jMg7eEthbkDtq1svu&cdnHost=localhost%3A8000\"},\"userAgent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/83.0.4103.0 Safari/537.36\",\"locale\":\"en-US\",\"library\":{\"name\":\"analytics.js\",\"version\":\"3.13.5\"},\"campaign\":{}},\"integrations\":{},\"properties\":{\"name\":\"Home\",\"path\":\"/\",\"referrer\":\"http://localhost:8000/\",\"search\":\"?writeKey=WJq9vAlUO5l2255jMg7eEthbkDtq1svu&cdnHost=localhost%3A8000\",\"title\":\"AJS tester\",\"url\":\"http://localhost:8000/?writeKey=WJq9vAlUO5l2255jMg7eEthbkDtq1svu&cdnHost=localhost%3A8000\"},\"category\":null,\"name\":\"Home\",\"messageId\":\"ajs-b93f4dabfb4b23811e7b25b6c8006882\",\"anonymousId\":\"bcda5d97-e6a4-43bc-96de-93725138f748\",\"type\":\"page\",\"writeKey\":\"WJq9vAlUO5l2255jMg7eEthbkDtq1svu\",\"userId\":null,\"sentAt\":\"2020-06-22T18:38:11.511Z\",\"_metadata\":{\"bundled\":[\"Segment.io\"],\"unbundled\":[]}}"
37+
"text": "{\"timestamp\":\"2020-06-25T21:00:02.346Z\",\"context\":{\"page\":{\"path\":\"/\",\"referrer\":\"http://localhost:8000/\",\"search\":\"?writeKey=WJq9vAlUO5l2255jMg7eEthbkDtq1svu&cdnHost=localhost%3A8000\",\"title\":\"AJS tester\",\"url\":\"http://localhost:8000/?writeKey=WJq9vAlUO5l2255jMg7eEthbkDtq1svu&cdnHost=localhost%3A8000\"},\"userAgent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/83.0.4103.0 Safari/537.36\",\"locale\":\"en-US\",\"library\":{\"name\":\"analytics.js\",\"version\":\"3.13.5\"},\"campaign\":{}},\"integrations\":{},\"properties\":{\"name\":\"Home\",\"path\":\"/\",\"referrer\":\"http://localhost:8000/\",\"search\":\"?writeKey=WJq9vAlUO5l2255jMg7eEthbkDtq1svu&cdnHost=localhost%3A8000\",\"title\":\"AJS tester\",\"url\":\"http://localhost:8000/?writeKey=WJq9vAlUO5l2255jMg7eEthbkDtq1svu&cdnHost=localhost%3A8000\"},\"category\":null,\"name\":\"Home\",\"messageId\":\"ajs-98bde5ff6e37234a5c09cce9e8f732cf\",\"anonymousId\":\"4a4dc2d0-1597-4d57-8a12-0d8fcac981c4\",\"type\":\"page\",\"writeKey\":\"WJq9vAlUO5l2255jMg7eEthbkDtq1svu\",\"userId\":null,\"sentAt\":\"2020-06-25T21:00:02.348Z\",\"_metadata\":{\"bundled\":[\"Segment.io\"],\"unbundled\":[]}}"
3838
},
3939
"queryString": [],
4040
"url": "https://api.segment.io/v1/p"
@@ -54,7 +54,7 @@
5454
},
5555
{
5656
"name": "date",
57-
"value": "Mon, 22 Jun 2020 18:38:11 GMT"
57+
"value": "Thu, 25 Jun 2020 21:00:02 GMT"
5858
},
5959
{
6060
"name": "access-control-allow-origin",
@@ -79,20 +79,20 @@
7979
"status": 200,
8080
"statusText": "OK"
8181
},
82-
"startedDateTime": "2020-06-22T18:38:11.519Z",
83-
"time": 84,
82+
"startedDateTime": "2020-06-25T21:00:02.357Z",
83+
"time": 81,
8484
"timings": {
8585
"blocked": -1,
8686
"connect": -1,
8787
"dns": -1,
8888
"receive": 0,
8989
"send": 0,
9090
"ssl": -1,
91-
"wait": 84
91+
"wait": 81
9292
}
9393
},
9494
{
95-
"_id": "3e98e2657554c759c5c6af0ab3cddce9",
95+
"_id": "ce9993aa34dc95d1a41ae44ae9b31aab",
9696
"_order": 0,
9797
"cache": {},
9898
"request": {
@@ -118,7 +118,7 @@
118118
"postData": {
119119
"mimeType": "text/plain",
120120
"params": [],
121-
"text": "{\"timestamp\":\"2020-06-22T18:38:11.623Z\",\"integrations\":{},\"context\":{\"page\":{\"path\":\"/\",\"referrer\":\"http://localhost:8000/\",\"search\":\"?writeKey=WJq9vAlUO5l2255jMg7eEthbkDtq1svu&cdnHost=localhost%3A8000\",\"title\":\"AJS tester\",\"url\":\"http://localhost:8000/?writeKey=WJq9vAlUO5l2255jMg7eEthbkDtq1svu&cdnHost=localhost%3A8000\"},\"userAgent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/83.0.4103.0 Safari/537.36\",\"locale\":\"en-US\",\"library\":{\"name\":\"analytics.js\",\"version\":\"3.13.5\"},\"campaign\":{}},\"event\":\"Checkout Started\",\"messageId\":\"ajs-ef1a29178658801ff63b424bf50b9ef2\",\"anonymousId\":\"bcda5d97-e6a4-43bc-96de-93725138f748\",\"type\":\"track\",\"writeKey\":\"WJq9vAlUO5l2255jMg7eEthbkDtq1svu\",\"userId\":null,\"sentAt\":\"2020-06-22T18:38:11.625Z\",\"_metadata\":{\"bundled\":[\"Segment.io\"],\"unbundled\":[]}}"
121+
"text": "{\"timestamp\":\"2020-06-25T21:00:02.458Z\",\"integrations\":{},\"context\":{\"page\":{\"path\":\"/\",\"referrer\":\"http://localhost:8000/\",\"search\":\"?writeKey=WJq9vAlUO5l2255jMg7eEthbkDtq1svu&cdnHost=localhost%3A8000\",\"title\":\"AJS tester\",\"url\":\"http://localhost:8000/?writeKey=WJq9vAlUO5l2255jMg7eEthbkDtq1svu&cdnHost=localhost%3A8000\"},\"userAgent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/83.0.4103.0 Safari/537.36\",\"locale\":\"en-US\",\"library\":{\"name\":\"analytics.js\",\"version\":\"3.13.5\"},\"campaign\":{}},\"event\":\"Checkout Started\",\"messageId\":\"ajs-9784604e3c0f25fec5501e36ffff71a9\",\"anonymousId\":\"4a4dc2d0-1597-4d57-8a12-0d8fcac981c4\",\"type\":\"track\",\"writeKey\":\"WJq9vAlUO5l2255jMg7eEthbkDtq1svu\",\"userId\":null,\"sentAt\":\"2020-06-25T21:00:02.460Z\",\"_metadata\":{\"bundled\":[\"Segment.io\"],\"unbundled\":[]}}"
122122
},
123123
"queryString": [],
124124
"url": "https://api.segment.io/v1/t"
@@ -138,7 +138,7 @@
138138
},
139139
{
140140
"name": "date",
141-
"value": "Mon, 22 Jun 2020 18:38:11 GMT"
141+
"value": "Thu, 25 Jun 2020 21:00:02 GMT"
142142
},
143143
{
144144
"name": "access-control-allow-origin",
@@ -163,20 +163,20 @@
163163
"status": 200,
164164
"statusText": "OK"
165165
},
166-
"startedDateTime": "2020-06-22T18:38:11.629Z",
167-
"time": 84,
166+
"startedDateTime": "2020-06-25T21:00:02.464Z",
167+
"time": 81,
168168
"timings": {
169169
"blocked": -1,
170170
"connect": -1,
171171
"dns": -1,
172172
"receive": 0,
173173
"send": 0,
174174
"ssl": -1,
175-
"wait": 84
175+
"wait": 81
176176
}
177177
},
178178
{
179-
"_id": "087dd8ae238b4cda0aaf5a00c79f148e",
179+
"_id": "eebbc8bccd7435de7fc170ff6fc082d6",
180180
"_order": 0,
181181
"cache": {},
182182
"request": {
@@ -202,7 +202,7 @@
202202
"postData": {
203203
"mimeType": "text/plain",
204204
"params": [],
205-
"text": "{\"timestamp\":\"2020-06-22T18:38:11.739Z\",\"integrations\":{},\"context\":{\"page\":{\"path\":\"/\",\"referrer\":\"http://localhost:8000/\",\"search\":\"?writeKey=WJq9vAlUO5l2255jMg7eEthbkDtq1svu&cdnHost=localhost%3A8000\",\"title\":\"AJS tester\",\"url\":\"http://localhost:8000/?writeKey=WJq9vAlUO5l2255jMg7eEthbkDtq1svu&cdnHost=localhost%3A8000\"},\"userAgent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/83.0.4103.0 Safari/537.36\",\"locale\":\"en-US\",\"library\":{\"name\":\"analytics.js\",\"version\":\"3.13.5\"},\"campaign\":{}},\"traits\":{},\"userId\":\"fathy\",\"messageId\":\"ajs-e978e0dd175512007f9b956d61488a8d\",\"anonymousId\":\"bcda5d97-e6a4-43bc-96de-93725138f748\",\"type\":\"identify\",\"writeKey\":\"WJq9vAlUO5l2255jMg7eEthbkDtq1svu\",\"sentAt\":\"2020-06-22T18:38:11.740Z\",\"_metadata\":{\"bundled\":[\"Segment.io\"],\"unbundled\":[]}}"
205+
"text": "{\"timestamp\":\"2020-06-25T21:00:02.576Z\",\"integrations\":{},\"context\":{\"page\":{\"path\":\"/\",\"referrer\":\"http://localhost:8000/\",\"search\":\"?writeKey=WJq9vAlUO5l2255jMg7eEthbkDtq1svu&cdnHost=localhost%3A8000\",\"title\":\"AJS tester\",\"url\":\"http://localhost:8000/?writeKey=WJq9vAlUO5l2255jMg7eEthbkDtq1svu&cdnHost=localhost%3A8000\"},\"userAgent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/83.0.4103.0 Safari/537.36\",\"locale\":\"en-US\",\"library\":{\"name\":\"analytics.js\",\"version\":\"3.13.5\"},\"campaign\":{}},\"traits\":{},\"userId\":\"fathy\",\"messageId\":\"ajs-a62c780f7b795d5c236421d355cd1169\",\"anonymousId\":\"4a4dc2d0-1597-4d57-8a12-0d8fcac981c4\",\"type\":\"identify\",\"writeKey\":\"WJq9vAlUO5l2255jMg7eEthbkDtq1svu\",\"sentAt\":\"2020-06-25T21:00:02.577Z\",\"_metadata\":{\"bundled\":[\"Segment.io\"],\"unbundled\":[]}}"
206206
},
207207
"queryString": [],
208208
"url": "https://api.segment.io/v1/i"
@@ -222,7 +222,175 @@
222222
},
223223
{
224224
"name": "date",
225-
"value": "Mon, 22 Jun 2020 18:38:11 GMT"
225+
"value": "Thu, 25 Jun 2020 21:00:02 GMT"
226+
},
227+
{
228+
"name": "access-control-allow-origin",
229+
"value": "http://localhost:8000"
230+
},
231+
{
232+
"name": "content-length",
233+
"value": "21"
234+
},
235+
{
236+
"name": "vary",
237+
"value": "Origin"
238+
},
239+
{
240+
"name": "content-type",
241+
"value": "application/json"
242+
}
243+
],
244+
"headersSize": 170,
245+
"httpVersion": "HTTP/1.1",
246+
"redirectURL": "",
247+
"status": 200,
248+
"statusText": "OK"
249+
},
250+
"startedDateTime": "2020-06-25T21:00:02.580Z",
251+
"time": 84,
252+
"timings": {
253+
"blocked": -1,
254+
"connect": -1,
255+
"dns": -1,
256+
"receive": 0,
257+
"send": 0,
258+
"ssl": -1,
259+
"wait": 84
260+
}
261+
},
262+
{
263+
"_id": "b76bab56b19b4bc04daa923e6925e706",
264+
"_order": 0,
265+
"cache": {},
266+
"request": {
267+
"bodySize": 1184,
268+
"cookies": [],
269+
"headers": [
270+
{
271+
"name": "referer",
272+
"value": "http://localhost:8000/?writeKey=WJq9vAlUO5l2255jMg7eEthbkDtq1svu&cdnHost=localhost%3A8000"
273+
},
274+
{
275+
"name": "user-agent",
276+
"value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/83.0.4103.0 Safari/537.36"
277+
},
278+
{
279+
"name": "content-type",
280+
"value": "text/plain"
281+
}
282+
],
283+
"headersSize": 312,
284+
"httpVersion": "HTTP/1.1",
285+
"method": "POST",
286+
"postData": {
287+
"mimeType": "text/plain",
288+
"params": [],
289+
"text": "{\"timestamp\":\"2020-06-25T21:00:02.692Z\",\"integrations\":{\"All\":true},\"context\":{\"page\":{\"path\":\"/\",\"referrer\":\"http://localhost:8000/\",\"search\":\"?writeKey=WJq9vAlUO5l2255jMg7eEthbkDtq1svu&cdnHost=localhost%3A8000\",\"title\":\"AJS tester\",\"url\":\"http://localhost:8000/?writeKey=WJq9vAlUO5l2255jMg7eEthbkDtq1svu&cdnHost=localhost%3A8000\"},\"userAgent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/83.0.4103.0 Safari/537.36\",\"locale\":\"en-US\",\"library\":{\"name\":\"analytics.js\",\"version\":\"3.13.5\"},\"campaign\":{}},\"traits\":{\"address\":{\"city\":\"Vancouver\",\"country\":\"Canada\",\"postalCode\":\"V6b3E2\",\"state\":\"BC\",\"street\":\"21 Jump St\"},\"avatar\":\"does not exist\",\"description\":\"a fake group\",\"email\":\"[email protected]\",\"employees\":3,\"id\":1,\"industry\":\"sw eng\",\"name\":\"libweb\",\"phone\":\"555-pizza\",\"website\":\"www.google.com\",\"plan\":\"business\"},\"groupId\":\"group name\",\"messageId\":\"ajs-28a2ca83dbdf489f60a1f65e1dcb51b3\",\"anonymousId\":\"4a4dc2d0-1597-4d57-8a12-0d8fcac981c4\",\"type\":\"group\",\"writeKey\":\"WJq9vAlUO5l2255jMg7eEthbkDtq1svu\",\"userId\":\"fathy\",\"sentAt\":\"2020-06-25T21:00:02.693Z\",\"_metadata\":{\"bundled\":[\"Segment.io\"],\"unbundled\":[]}}"
290+
},
291+
"queryString": [],
292+
"url": "https://api.segment.io/v1/g"
293+
},
294+
"response": {
295+
"bodySize": 21,
296+
"content": {
297+
"mimeType": "application/json",
298+
"size": 21,
299+
"text": "{\n \"success\": true\n}"
300+
},
301+
"cookies": [],
302+
"headers": [
303+
{
304+
"name": "status",
305+
"value": "200"
306+
},
307+
{
308+
"name": "date",
309+
"value": "Thu, 25 Jun 2020 21:00:02 GMT"
310+
},
311+
{
312+
"name": "access-control-allow-origin",
313+
"value": "http://localhost:8000"
314+
},
315+
{
316+
"name": "content-length",
317+
"value": "21"
318+
},
319+
{
320+
"name": "vary",
321+
"value": "Origin"
322+
},
323+
{
324+
"name": "content-type",
325+
"value": "application/json"
326+
}
327+
],
328+
"headersSize": 170,
329+
"httpVersion": "HTTP/1.1",
330+
"redirectURL": "",
331+
"status": 200,
332+
"statusText": "OK"
333+
},
334+
"startedDateTime": "2020-06-25T21:00:02.696Z",
335+
"time": 81,
336+
"timings": {
337+
"blocked": -1,
338+
"connect": -1,
339+
"dns": -1,
340+
"receive": 0,
341+
"send": 0,
342+
"ssl": -1,
343+
"wait": 81
344+
}
345+
},
346+
{
347+
"_id": "62b6076c4d9c54e653a93411b509ed47",
348+
"_order": 0,
349+
"cache": {},
350+
"request": {
351+
"bodySize": 860,
352+
"cookies": [],
353+
"headers": [
354+
{
355+
"name": "referer",
356+
"value": "http://localhost:8000/?writeKey=WJq9vAlUO5l2255jMg7eEthbkDtq1svu&cdnHost=localhost%3A8000"
357+
},
358+
{
359+
"name": "user-agent",
360+
"value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/83.0.4103.0 Safari/537.36"
361+
},
362+
{
363+
"name": "content-type",
364+
"value": "text/plain"
365+
}
366+
],
367+
"headersSize": 312,
368+
"httpVersion": "HTTP/1.1",
369+
"method": "POST",
370+
"postData": {
371+
"mimeType": "text/plain",
372+
"params": [],
373+
"text": "{\"timestamp\":\"2020-06-25T21:00:02.808Z\",\"integrations\":{\"All\":true},\"context\":{\"page\":{\"path\":\"/\",\"referrer\":\"http://localhost:8000/\",\"search\":\"?writeKey=WJq9vAlUO5l2255jMg7eEthbkDtq1svu&cdnHost=localhost%3A8000\",\"title\":\"AJS tester\",\"url\":\"http://localhost:8000/?writeKey=WJq9vAlUO5l2255jMg7eEthbkDtq1svu&cdnHost=localhost%3A8000\"},\"userAgent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/83.0.4103.0 Safari/537.36\",\"locale\":\"en-US\",\"library\":{\"name\":\"analytics.js\",\"version\":\"3.13.5\"},\"campaign\":{}},\"previousId\":\"previous id\",\"userId\":\"userId\",\"messageId\":\"ajs-6d694f3cfc91a05eb5bbcabcee0042a1\",\"anonymousId\":\"4a4dc2d0-1597-4d57-8a12-0d8fcac981c4\",\"type\":\"alias\",\"writeKey\":\"WJq9vAlUO5l2255jMg7eEthbkDtq1svu\",\"sentAt\":\"2020-06-25T21:00:02.810Z\",\"_metadata\":{\"bundled\":[\"Segment.io\"],\"unbundled\":[]}}"
374+
},
375+
"queryString": [],
376+
"url": "https://api.segment.io/v1/a"
377+
},
378+
"response": {
379+
"bodySize": 21,
380+
"content": {
381+
"mimeType": "application/json",
382+
"size": 21,
383+
"text": "{\n \"success\": true\n}"
384+
},
385+
"cookies": [],
386+
"headers": [
387+
{
388+
"name": "status",
389+
"value": "200"
390+
},
391+
{
392+
"name": "date",
393+
"value": "Thu, 25 Jun 2020 21:00:02 GMT"
226394
},
227395
{
228396
"name": "access-control-allow-origin",
@@ -247,16 +415,16 @@
247415
"status": 200,
248416
"statusText": "OK"
249417
},
250-
"startedDateTime": "2020-06-22T18:38:11.743Z",
251-
"time": 86,
418+
"startedDateTime": "2020-06-25T21:00:02.813Z",
419+
"time": 85,
252420
"timings": {
253421
"blocked": -1,
254422
"connect": -1,
255423
"dns": -1,
256424
"receive": 0,
257425
"send": 0,
258426
"ssl": -1,
259-
"wait": 86
427+
"wait": 85
260428
}
261429
}
262430
],

0 commit comments

Comments
 (0)