Skip to content

Commit 826ae82

Browse files
committed
- Fixed test spec for cancelation
1 parent 7b5823c commit 826ae82

File tree

8 files changed

+71
-63
lines changed

8 files changed

+71
-63
lines changed

src/templates/core/xhr/sendRequest.hbs

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,8 @@ async function sendRequest(options: ApiRequestOptions, url: string, onCancel: (c
99
});
1010

1111
return new Promise<XMLHttpRequest>((resolve, reject) => {
12-
xhr.onreadystatechange = () => {
13-
if (xhr.readyState === XMLHttpRequest.DONE) {
14-
resolve(xhr);
15-
}
16-
console.log(xhr.readyState);
17-
if (xhr.readyState === XMLHttpRequest.DONE) {
18-
reject();
19-
}
20-
};
21-
12+
xhr.onload = () => resolve(xhr);
13+
xhr.onabort = () => reject(new Error('The user aborted a request.'));
2214
xhr.send(getRequestBody(options));
2315

2416
onCancel(() => xhr.abort());

test/e2e/scripts/browser.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
const puppeteer = require('puppeteer');
44

55
let browser;
6-
let page
6+
let page;
77

88
async function start() {
99
// This starts the a new puppeteer browser (Chrome)

test/e2e/v2.fetch.spec.js

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -46,14 +46,17 @@ describe('v2.fetch', () => {
4646
});
4747

4848
it('can abort the request', async () => {
49-
const result = await browser.evaluate(async () => {
50-
const { SimpleService } = window.api;
51-
const promise = SimpleService.getCallWithoutParametersAndResponse();
52-
setTimeout(() => {
53-
promise.cancel();
54-
}, 10);
55-
await promise;
56-
});
57-
expect(result).toBeUndefined();
49+
try {
50+
await browser.evaluate(async () => {
51+
const { SimpleService } = window.api;
52+
const promise = SimpleService.getCallWithoutParametersAndResponse();
53+
setTimeout(() => {
54+
promise.cancel();
55+
}, 10);
56+
await promise;
57+
});
58+
} catch (e) {
59+
expect(e.message).toContain('The user aborted a request.');
60+
}
5861
});
5962
});

test/e2e/v2.node.spec.js

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,15 @@ describe('v2.node', () => {
3838
});
3939

4040
it('can abort the request', async () => {
41-
const { SimpleService } = require('./generated/v3/node/index.js');
42-
const promise = await SimpleService.getCallWithoutParametersAndResponse();
43-
setTimeout(() => {
44-
promise.cancel();
45-
}, 10);
46-
const result = await promise;
47-
expect(result).toBeDefined();
41+
try {
42+
const { SimpleService } = require('./generated/v3/node/index.js');
43+
const promise = SimpleService.getCallWithoutParametersAndResponse();
44+
setTimeout(() => {
45+
promise.cancel();
46+
}, 10);
47+
await promise;
48+
} catch (e) {
49+
expect(e.message).toContain('The user aborted a request.');
50+
}
4851
});
49-
5052
});

test/e2e/v2.xhr.spec.js

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -46,14 +46,17 @@ describe('v2.xhr', () => {
4646
});
4747

4848
it('can abort the request', async () => {
49-
const result = await browser.evaluate(async () => {
50-
const { SimpleService } = window.api;
51-
const promise = SimpleService.getCallWithoutParametersAndResponse();
52-
setTimeout(() => {
53-
promise.cancel();
54-
}, 10);
55-
await promise;
56-
});
57-
expect(result).toBeUndefined();
49+
try {
50+
await browser.evaluate(async () => {
51+
const { SimpleService } = window.api;
52+
const promise = SimpleService.getCallWithoutParametersAndResponse();
53+
setTimeout(() => {
54+
promise.cancel();
55+
}, 10);
56+
await promise;
57+
});
58+
} catch (e) {
59+
expect(e.message).toContain('The user aborted a request.');
60+
}
5861
});
5962
});

test/e2e/v3.fetch.spec.js

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -59,14 +59,17 @@ describe('v3.fetch', () => {
5959
});
6060

6161
it('can abort the request', async () => {
62-
const result = await browser.evaluate(async () => {
63-
const { SimpleService } = window.api;
64-
const promise = SimpleService.getCallWithoutParametersAndResponse();
65-
setTimeout(() => {
66-
promise.cancel();
67-
}, 10);
68-
await promise;
69-
});
70-
expect(result).toBeUndefined();
62+
try {
63+
await browser.evaluate(async () => {
64+
const { SimpleService } = window.api;
65+
const promise = SimpleService.getCallWithoutParametersAndResponse();
66+
setTimeout(() => {
67+
promise.cancel();
68+
}, 10);
69+
await promise;
70+
});
71+
} catch (e) {
72+
expect(e.message).toContain('The user aborted a request.');
73+
}
7174
});
7275
});

test/e2e/v3.node.spec.js

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,15 @@ describe('v3.node', () => {
4949
});
5050

5151
it('can abort the request', async () => {
52-
const { SimpleService } = require('./generated/v3/node/index.js');
53-
const promise = await SimpleService.getCallWithoutParametersAndResponse();
54-
setTimeout(() => {
55-
promise.cancel();
56-
}, 10);
57-
const result = await promise;
58-
expect(result).toBeDefined();
52+
try {
53+
const { SimpleService } = require('./generated/v3/node/index.js');
54+
const promise = SimpleService.getCallWithoutParametersAndResponse();
55+
setTimeout(() => {
56+
promise.cancel();
57+
}, 10);
58+
await promise;
59+
} catch (e) {
60+
expect(e.message).toContain('The user aborted a request.');
61+
}
5962
});
60-
6163
});

test/e2e/v3.xhr.spec.js

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -59,14 +59,17 @@ describe('v3.xhr', () => {
5959
});
6060

6161
it('can abort the request', async () => {
62-
const result = await browser.evaluate(async () => {
63-
const { SimpleService } = window.api;
64-
const promise = SimpleService.getCallWithoutParametersAndResponse();
65-
setTimeout(() => {
66-
promise.cancel();
67-
}, 10);
68-
await promise;
69-
});
70-
expect(result).toBeUndefined();
62+
try {
63+
await browser.evaluate(async () => {
64+
const { SimpleService } = window.api;
65+
const promise = SimpleService.getCallWithoutParametersAndResponse();
66+
setTimeout(() => {
67+
promise.cancel();
68+
}, 10);
69+
await promise;
70+
});
71+
} catch (e) {
72+
expect(e.message).toContain('The user aborted a request.');
73+
}
7174
});
7275
});

0 commit comments

Comments
 (0)