uppy/packages/@uppy/utils/src/isNetworkError.test.js
Artur Paikin ed8a494875
Mark network errors as NetworkError (#2110)
* Add NetworkError error type and isNetworkError utility check

* Detect network errors in tus and xhr-upload

Co-Authored-By: Ifedapo .A. Olarewaju <ifedapoolarewaju@gmail.com>

* add NetworkError check to RequestClient in companion-client

* return false if !xhr 🙈

* move catch so that only errors from _checkMinNumberOfFiles are caught — errors from uploads are logged in `upload-error` already

//cc @goto-bus-stop

* Add NetworkError to MiniXHRUpload in aws-s3

//cc @goto-bus-stop

* Add tests

//cc @ifedapoolarewaju

* pass xhr to NetworkError

* add logging in catch of uppy.upload()

* start error message with “This looks like a network error”

* originalRequest --> request, return NetworkError right away

* check for NetworkError in `delete` as well

do we need it in preflight too, @ifedapoolarewaju?

* remove redundant error message re-declaration

* _showOrLogErrorAndThrow, but don’t showInformer

Co-authored-by: Ifedapo .A. Olarewaju <ifedapoolarewaju@gmail.com>
2020-04-21 10:36:49 +02:00

34 lines
866 B
JavaScript

const isNetworkError = require('./isNetworkError')
describe('isNetworkError', () => {
it('should return true if the specified xhr object contains a network error', () => {
const xhrNetworkErrorMock = {
readyState: 4,
responseText: '',
status: 0
}
const xhrNetworkError2Mock = {
readyState: 2,
responseText: '',
status: 300
}
const xhrRegularErrorMock = {
readyState: 4,
responseText: 'Failed',
status: 400
}
const xhrNetworkSuccessMock = {
readyState: 4,
responseText: 'Success',
status: 200
}
expect(isNetworkError(xhrNetworkErrorMock)).toEqual(true)
expect(isNetworkError(xhrNetworkError2Mock)).toEqual(true)
expect(isNetworkError(xhrRegularErrorMock)).toEqual(false)
expect(isNetworkError(xhrNetworkSuccessMock)).toEqual(false)
})
})