- Fixed test spec for cancelation

This commit is contained in:
Ferdi Koomen 2021-03-13 19:29:40 +01:00
parent 7b5823ce75
commit 826ae82dc1
8 changed files with 71 additions and 63 deletions

View File

@ -9,16 +9,8 @@ async function sendRequest(options: ApiRequestOptions, url: string, onCancel: (c
});
return new Promise<XMLHttpRequest>((resolve, reject) => {
xhr.onreadystatechange = () => {
if (xhr.readyState === XMLHttpRequest.DONE) {
resolve(xhr);
}
console.log(xhr.readyState);
if (xhr.readyState === XMLHttpRequest.DONE) {
reject();
}
};
xhr.onload = () => resolve(xhr);
xhr.onabort = () => reject(new Error('The user aborted a request.'));
xhr.send(getRequestBody(options));
onCancel(() => xhr.abort());

View File

@ -3,7 +3,7 @@
const puppeteer = require('puppeteer');
let browser;
let page
let page;
async function start() {
// This starts the a new puppeteer browser (Chrome)

View File

@ -46,14 +46,17 @@ describe('v2.fetch', () => {
});
it('can abort the request', async () => {
const result = await browser.evaluate(async () => {
const { SimpleService } = window.api;
const promise = SimpleService.getCallWithoutParametersAndResponse();
setTimeout(() => {
promise.cancel();
}, 10);
await promise;
});
expect(result).toBeUndefined();
try {
await browser.evaluate(async () => {
const { SimpleService } = window.api;
const promise = SimpleService.getCallWithoutParametersAndResponse();
setTimeout(() => {
promise.cancel();
}, 10);
await promise;
});
} catch (e) {
expect(e.message).toContain('The user aborted a request.');
}
});
});

View File

@ -38,13 +38,15 @@ describe('v2.node', () => {
});
it('can abort the request', async () => {
const { SimpleService } = require('./generated/v3/node/index.js');
const promise = await SimpleService.getCallWithoutParametersAndResponse();
setTimeout(() => {
promise.cancel();
}, 10);
const result = await promise;
expect(result).toBeDefined();
try {
const { SimpleService } = require('./generated/v3/node/index.js');
const promise = SimpleService.getCallWithoutParametersAndResponse();
setTimeout(() => {
promise.cancel();
}, 10);
await promise;
} catch (e) {
expect(e.message).toContain('The user aborted a request.');
}
});
});

View File

@ -46,14 +46,17 @@ describe('v2.xhr', () => {
});
it('can abort the request', async () => {
const result = await browser.evaluate(async () => {
const { SimpleService } = window.api;
const promise = SimpleService.getCallWithoutParametersAndResponse();
setTimeout(() => {
promise.cancel();
}, 10);
await promise;
});
expect(result).toBeUndefined();
try {
await browser.evaluate(async () => {
const { SimpleService } = window.api;
const promise = SimpleService.getCallWithoutParametersAndResponse();
setTimeout(() => {
promise.cancel();
}, 10);
await promise;
});
} catch (e) {
expect(e.message).toContain('The user aborted a request.');
}
});
});

View File

@ -59,14 +59,17 @@ describe('v3.fetch', () => {
});
it('can abort the request', async () => {
const result = await browser.evaluate(async () => {
const { SimpleService } = window.api;
const promise = SimpleService.getCallWithoutParametersAndResponse();
setTimeout(() => {
promise.cancel();
}, 10);
await promise;
});
expect(result).toBeUndefined();
try {
await browser.evaluate(async () => {
const { SimpleService } = window.api;
const promise = SimpleService.getCallWithoutParametersAndResponse();
setTimeout(() => {
promise.cancel();
}, 10);
await promise;
});
} catch (e) {
expect(e.message).toContain('The user aborted a request.');
}
});
});

View File

@ -49,13 +49,15 @@ describe('v3.node', () => {
});
it('can abort the request', async () => {
const { SimpleService } = require('./generated/v3/node/index.js');
const promise = await SimpleService.getCallWithoutParametersAndResponse();
setTimeout(() => {
promise.cancel();
}, 10);
const result = await promise;
expect(result).toBeDefined();
try {
const { SimpleService } = require('./generated/v3/node/index.js');
const promise = SimpleService.getCallWithoutParametersAndResponse();
setTimeout(() => {
promise.cancel();
}, 10);
await promise;
} catch (e) {
expect(e.message).toContain('The user aborted a request.');
}
});
});

View File

@ -59,14 +59,17 @@ describe('v3.xhr', () => {
});
it('can abort the request', async () => {
const result = await browser.evaluate(async () => {
const { SimpleService } = window.api;
const promise = SimpleService.getCallWithoutParametersAndResponse();
setTimeout(() => {
promise.cancel();
}, 10);
await promise;
});
expect(result).toBeUndefined();
try {
await browser.evaluate(async () => {
const { SimpleService } = window.api;
const promise = SimpleService.getCallWithoutParametersAndResponse();
setTimeout(() => {
promise.cancel();
}, 10);
await promise;
});
} catch (e) {
expect(e.message).toContain('The user aborted a request.');
}
});
});