Skip to content

Commit cd7837f

Browse files
committed
test(functions, ios): with ios sdk 9.2.0, HttpsError works again
1 parent 4739174 commit cd7837f

File tree

1 file changed

+112
-127
lines changed

1 file changed

+112
-127
lines changed

packages/functions/e2e/functions.e2e.js

Lines changed: 112 additions & 127 deletions
Original file line numberDiff line numberDiff line change
@@ -173,145 +173,130 @@ describe('functions()', function () {
173173

174174
describe('HttpsError', function () {
175175
it('errors return instance of HttpsError', async function () {
176-
if (device.getPlatform() !== 'ios') {
177-
const functionRunner = firebase.functions().httpsCallable('testFunctionDefaultRegion');
178-
179-
try {
180-
await functionRunner({});
181-
return Promise.reject(new Error('Function did not reject with error.'));
182-
} catch (e) {
183-
should.equal(e.details, null);
184-
e.code.should.equal('invalid-argument');
185-
e.message.should.equal('Invalid test requested.');
186-
}
176+
const functionRunner = firebase.functions().httpsCallable('testFunctionDefaultRegion');
187177

188-
return Promise.resolve();
189-
} else {
190-
// TODO waiting on firebase-ios-sdk > 9.1.0 - https://github.com/firebase/firebase-ios-sdk/pull/9862
191-
this.skip();
178+
try {
179+
await functionRunner({});
180+
return Promise.reject(new Error('Function did not reject with error.'));
181+
} catch (e) {
182+
should.equal(e.details, null);
183+
e.code.should.equal('invalid-argument');
184+
e.message.should.equal('Invalid test requested.');
192185
}
186+
187+
return Promise.resolve();
193188
});
194189

195190
it('HttpsError.details -> allows returning complex data', async function () {
196-
if (device.getPlatform() !== 'ios') {
197-
let type = 'deepObject';
198-
let inputData = SAMPLE_DATA[type];
199-
const functionRunner = firebase.functions().httpsCallable('testFunctionDefaultRegion');
200-
try {
201-
await functionRunner({
202-
type,
203-
inputData,
204-
asError: true,
205-
});
206-
return Promise.reject(new Error('Function did not reject with error.'));
207-
} catch (e) {
208-
should.deepEqual(e.details, inputData);
209-
e.code.should.equal('cancelled');
210-
e.message.should.equal(
211-
'Response data was requested to be sent as part of an Error payload, so here we are!',
212-
);
213-
}
214-
215-
type = 'deepArray';
216-
inputData = SAMPLE_DATA[type];
217-
try {
218-
await functionRunner({
219-
type,
220-
inputData,
221-
asError: true,
222-
});
223-
return Promise.reject(new Error('Function did not reject with error.'));
224-
} catch (e) {
225-
should.deepEqual(e.details, inputData);
226-
e.code.should.equal('cancelled');
227-
e.message.should.equal(
228-
'Response data was requested to be sent as part of an Error payload, so here we are!',
229-
);
230-
}
191+
let type = 'deepObject';
192+
let inputData = SAMPLE_DATA[type];
193+
const functionRunner = firebase.functions().httpsCallable('testFunctionDefaultRegion');
194+
try {
195+
await functionRunner({
196+
type,
197+
inputData,
198+
asError: true,
199+
});
200+
return Promise.reject(new Error('Function did not reject with error.'));
201+
} catch (e) {
202+
should.deepEqual(e.details, inputData);
203+
e.code.should.equal('cancelled');
204+
e.message.should.equal(
205+
'Response data was requested to be sent as part of an Error payload, so here we are!',
206+
);
207+
}
231208

232-
return Promise.resolve();
233-
} else {
234-
// TODO waiting on firebase-ios-sdk > 9.1.0 - https://github.com/firebase/firebase-ios-sdk/pull/9862
235-
this.skip();
209+
type = 'deepArray';
210+
inputData = SAMPLE_DATA[type];
211+
try {
212+
await functionRunner({
213+
type,
214+
inputData,
215+
asError: true,
216+
});
217+
return Promise.reject(new Error('Function did not reject with error.'));
218+
} catch (e) {
219+
should.deepEqual(e.details, inputData);
220+
e.code.should.equal('cancelled');
221+
e.message.should.equal(
222+
'Response data was requested to be sent as part of an Error payload, so here we are!',
223+
);
236224
}
225+
226+
return Promise.resolve();
237227
});
238228

239229
it('HttpsError.details -> allows returning primitives', async function () {
240-
if (device.getPlatform() !== 'ios') {
241-
let type = 'number';
242-
let inputData = SAMPLE_DATA[type];
243-
const functionRunner = firebase.functions().httpsCallable('testFunctionDefaultRegion');
244-
try {
245-
await functionRunner({
246-
type,
247-
inputData,
248-
asError: true,
249-
});
250-
return Promise.reject(new Error('Function did not reject with error.'));
251-
} catch (e) {
252-
e.code.should.equal('cancelled');
253-
e.message.should.equal(
254-
'Response data was requested to be sent as part of an Error payload, so here we are!',
255-
);
256-
should.deepEqual(e.details, inputData);
257-
}
258-
259-
type = 'string';
260-
inputData = SAMPLE_DATA[type];
261-
try {
262-
await functionRunner({
263-
type,
264-
inputData,
265-
asError: true,
266-
});
267-
return Promise.reject(new Error('Function did not reject with error.'));
268-
} catch (e) {
269-
should.deepEqual(e.details, inputData);
270-
e.code.should.equal('cancelled');
271-
e.message.should.equal(
272-
'Response data was requested to be sent as part of an Error payload, so here we are!',
273-
);
274-
}
275-
276-
type = 'boolean';
277-
inputData = SAMPLE_DATA[type];
278-
try {
279-
await functionRunner({
280-
type,
281-
inputData,
282-
asError: true,
283-
});
284-
return Promise.reject(new Error('Function did not reject with error.'));
285-
} catch (e) {
286-
should.deepEqual(e.details, inputData);
287-
e.code.should.equal('cancelled');
288-
e.message.should.equal(
289-
'Response data was requested to be sent as part of an Error payload, so here we are!',
290-
);
291-
}
292-
293-
type = 'null';
294-
inputData = SAMPLE_DATA[type];
295-
try {
296-
await functionRunner({
297-
type,
298-
inputData,
299-
asError: true,
300-
});
301-
return Promise.reject(new Error('Function did not reject with error.'));
302-
} catch (e) {
303-
should.deepEqual(e.details, inputData);
304-
e.code.should.equal('cancelled');
305-
e.message.should.equal(
306-
'Response data was requested to be sent as part of an Error payload, so here we are!',
307-
);
308-
}
230+
let type = 'number';
231+
let inputData = SAMPLE_DATA[type];
232+
const functionRunner = firebase.functions().httpsCallable('testFunctionDefaultRegion');
233+
try {
234+
await functionRunner({
235+
type,
236+
inputData,
237+
asError: true,
238+
});
239+
return Promise.reject(new Error('Function did not reject with error.'));
240+
} catch (e) {
241+
e.code.should.equal('cancelled');
242+
e.message.should.equal(
243+
'Response data was requested to be sent as part of an Error payload, so here we are!',
244+
);
245+
should.deepEqual(e.details, inputData);
246+
}
309247

310-
return Promise.resolve();
311-
} else {
312-
// TODO waiting on firebase-ios-sdk > 9.1.0 - https://github.com/firebase/firebase-ios-sdk/pull/9862
313-
this.skip();
248+
type = 'string';
249+
inputData = SAMPLE_DATA[type];
250+
try {
251+
await functionRunner({
252+
type,
253+
inputData,
254+
asError: true,
255+
});
256+
return Promise.reject(new Error('Function did not reject with error.'));
257+
} catch (e) {
258+
should.deepEqual(e.details, inputData);
259+
e.code.should.equal('cancelled');
260+
e.message.should.equal(
261+
'Response data was requested to be sent as part of an Error payload, so here we are!',
262+
);
314263
}
264+
265+
type = 'boolean';
266+
inputData = SAMPLE_DATA[type];
267+
try {
268+
await functionRunner({
269+
type,
270+
inputData,
271+
asError: true,
272+
});
273+
return Promise.reject(new Error('Function did not reject with error.'));
274+
} catch (e) {
275+
should.deepEqual(e.details, inputData);
276+
e.code.should.equal('cancelled');
277+
e.message.should.equal(
278+
'Response data was requested to be sent as part of an Error payload, so here we are!',
279+
);
280+
}
281+
282+
type = 'null';
283+
inputData = SAMPLE_DATA[type];
284+
try {
285+
await functionRunner({
286+
type,
287+
inputData,
288+
asError: true,
289+
});
290+
return Promise.reject(new Error('Function did not reject with error.'));
291+
} catch (e) {
292+
should.deepEqual(e.details, inputData);
293+
e.code.should.equal('cancelled');
294+
e.message.should.equal(
295+
'Response data was requested to be sent as part of an Error payload, so here we are!',
296+
);
297+
}
298+
299+
return Promise.resolve();
315300
});
316301

317302
it('HttpsCallableOptions.timeout will error when timeout is exceeded', async function () {

0 commit comments

Comments
 (0)