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 e2b3044
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 12 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

0 comments on commit e2b3044

Please sign in to comment.