Skip to content

Commit

Permalink
FIX Handle 401 from server
Browse files Browse the repository at this point in the history
  • Loading branch information
emteknetnz committed Feb 24, 2025
1 parent 08e1047 commit 7d27fa5
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 13 deletions.
2 changes: 1 addition & 1 deletion client/dist/js/bundle.js

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -52,12 +52,16 @@ function SudoModePasswordField(props) {
const headers = {
'X-SecurityID': Config.get('SecurityID'),
};
const responseJson = await fetcher(data, headers);
if (responseJson.result) {
onSuccess();
} else {
setResponseMessage(responseJson.message);
}
fetcher(data, headers)
.then(responseJson => {
if (responseJson.result) {
onSuccess();
}
})
.catch(async (err) => {
const responseJson = await err.response.json();
setResponseMessage(responseJson.message);
});
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,29 @@ window.ss.config = {
};

let doResolve;
let doReject;

beforeEach(() => {
doResolve = undefined;
doReject = undefined;
});

function createJsonError(message) {
return {
response: {
json: () => ({
result: false,
message
}),
},
};
}

jest.mock('lib/Backend', () => ({
createEndpointFetcher: () => () => (
new Promise((resolve) => {
new Promise((resolve, reject) => {
doResolve = resolve;
doReject = reject;
})
)
}));
Expand Down Expand Up @@ -68,10 +86,7 @@ test('SudoModePasswordField should show a message on failure', async () => {
passwordField.value = 'password';
const verifyButton = await screen.findByText('Verify');
fireEvent.click(verifyButton);
doResolve({
result: false,
message: 'A big failure'
});
await doReject(createJsonError('A big failure'));
const message = await screen.findByText('A big failure');
expect(message).not.toBeNull();
expect(onSuccess).not.toBeCalled();
Expand Down
2 changes: 1 addition & 1 deletion client/src/lib/Backend.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ es6promise.polyfill();
/**
* @see https://github.com/github/fetch#handling-http-error-statuses
*/
function checkStatus(response) {
async function checkStatus(response) {
let ret = null;
let error = null;
if (response.status >= 200 && response.status < 300) {
Expand Down

0 comments on commit 7d27fa5

Please sign in to comment.