1
0
mirror of https://github.com/matrix-org/matrix-react-sdk.git synced 2025-11-08 21:42:24 +03:00

Allow fetch() to be stubbed for the RtsClient

- so that we can write some tests for it.
This commit is contained in:
Richard van der Hoff
2017-06-15 01:50:56 +01:00
parent a05bafed6a
commit 9ff52b182f
3 changed files with 16 additions and 5 deletions

View File

@@ -1,5 +1,7 @@
import 'whatwg-fetch';
let fetchFunction = fetch;
function checkStatus(response) {
if (!response.ok) {
return response.text().then((text) => {
@@ -31,7 +33,7 @@ const request = (url, opts) => {
opts.body = JSON.stringify(opts.body);
opts.headers['Content-Type'] = 'application/json';
}
return fetch(url, opts)
return fetchFunction(url, opts)
.then(checkStatus)
.then(parseJson);
};
@@ -64,7 +66,7 @@ export default class RtsClient {
client_secret: clientSecret,
},
method: 'POST',
}
},
);
}
@@ -74,7 +76,7 @@ export default class RtsClient {
qs: {
team_token: teamToken,
},
}
},
);
}
@@ -91,7 +93,12 @@ export default class RtsClient {
qs: {
user_id: userId,
},
}
},
);
}
// allow fetch to be replaced, for testing.
static setFetch(fn) {
fetchFunction = fn;
}
}