Skip to content

Commit

Permalink
fix restart upgrade disabled condition
Browse files Browse the repository at this point in the history
  • Loading branch information
juliaElastic committed May 31, 2024
1 parent c129d3e commit 1d76b95
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -466,4 +466,45 @@ describe('AgentUpgradeAgentModal', () => {
expect(el).toBeDisabled();
});
});

it('should enable restart upgrade if single agent stuck updating', async () => {
const { utils } = renderAgentUpgradeAgentModal({
agents: [
{ status: 'updating', upgrade_started_at: '2022-11-21T12:27:24Z', id: 'agent1' },
] as any,
agentCount: 1,
isUpdating: true,
});

const el = utils.getByTestId('confirmModalTitleText');
expect(el.textContent).toEqual('Restart upgrade');

const btn = utils.getByTestId('confirmModalConfirmButton');
await waitFor(() => {
expect(btn).toBeEnabled();
});
});

it('should enable restart upgrade if single agent failed upgrade', async () => {
const { utils } = renderAgentUpgradeAgentModal({
agents: [
{
status: 'updating',
upgrade_details: { state: 'UPG_FAILED' },
id: 'agent1',
active: true,
},
] as any,
agentCount: 1,
isUpdating: true,
});

const el = utils.getByTestId('confirmModalTitleText');
expect(el.textContent).toEqual('Restart upgrade');

const btn = utils.getByTestId('confirmModalConfirmButton');
await waitFor(() => {
expect(btn).toBeEnabled();
});
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -290,26 +290,27 @@ export const AgentUpgradeAgentModal: React.FunctionComponent<AgentUpgradeAgentMo
const isSingleAgentFleetServer =
isSingleAgent && fleetServerAgents.map((agent) => agent.id).includes(agents[0].id);

const isSubmitButtonDisabled = useMemo(
() =>
const isSubmitButtonDisabled = useMemo(() => {
if (!isSubmitting && isUpdating && isSingleAgent && isStuckInUpdating(agents[0])) return false;
return (
isSubmitting ||
(isUpdating && updatingAgents === 0) ||
!selectedVersion[0].value ||
(isSingleAgent && !isAgentUpgradeableToVersion(agents[0], selectedVersion[0].value)) ||
(isSingleAgent &&
!isSingleAgentFleetServer &&
!isAgentVersionLessThanFleetServer(selectedVersion[0].value, fleetServerAgents)),
[
agents,
fleetServerAgents,
isSingleAgent,
isSubmitting,
isUpdating,
selectedVersion,
updatingAgents,
isSingleAgentFleetServer,
]
);
!isAgentVersionLessThanFleetServer(selectedVersion[0].value, fleetServerAgents))
);
}, [
agents,
fleetServerAgents,
isSingleAgent,
isSubmitting,
isUpdating,
selectedVersion,
updatingAgents,
isSingleAgentFleetServer,
]);

async function onSubmit() {
const version = getVersion(selectedVersion);
Expand Down

0 comments on commit 1d76b95

Please sign in to comment.