mirror of
https://github.com/podman-desktop/podman-desktop
synced 2026-04-21 09:37:22 +00:00
chore: prevent feedback form from closing when clicking on a non-submission link (#16769)
chore: prevent feedback form from closing when clicking on a non-submission link
Signed-off-by: Sonia Sandler <ssandler@redhat.com>
(cherry picked from commit 0774054286)
# Conflicts:
# packages/renderer/src/lib/feedback/SendFeedback.svelte
This commit is contained in:
parent
f4f2741d98
commit
70e4996076
5 changed files with 29 additions and 4 deletions
|
|
@ -56,7 +56,11 @@ function handleUpdate(e: boolean): void {
|
|||
|
||||
{#if displayModal}
|
||||
<div class='z-40'>
|
||||
<<<<<<< HEAD
|
||||
<Modal name="Share your feedback" on:close={(): Promise<void> => hideModal()}>
|
||||
=======
|
||||
<Modal name="Share your feedback" onclose={(): Promise<void> => hideModal()} ignoreFocusOut={true}>
|
||||
>>>>>>> 077405428 (chore: prevent feedback form from closing when clicking on a non-submission link (#16769))
|
||||
<div class="flex items-center justify-between pl-4 pr-3 py-3 space-x-2 text-[var(--pd-modal-header-text)]">
|
||||
<h1 class="grow text-lg font-bold capitalize">Share your feedback</h1>
|
||||
<CloseButton onclick={(): Promise<void> => hideModal()} />
|
||||
|
|
|
|||
|
|
@ -158,7 +158,8 @@ test('Expect message for happy-smiley to use like', async () => {
|
|||
});
|
||||
|
||||
test('Expect GitHub dialog visible when very-happy-smiley selected', async () => {
|
||||
render(DirectFeedback, { category: 'developers', contentChange: vi.fn(), onCloseForm: vi.fn() });
|
||||
const onCloseFormMock = vi.fn();
|
||||
render(DirectFeedback, { category: 'developers', contentChange: vi.fn(), onCloseForm: onCloseFormMock });
|
||||
|
||||
// click on a smiley
|
||||
const smiley = await screen.findByRole('button', { name: 'very-happy-smiley' });
|
||||
|
|
@ -174,6 +175,8 @@ test('Expect GitHub dialog visible when very-happy-smiley selected', async () =>
|
|||
expect(window.telemetryTrack).toHaveBeenCalledWith('feedback.openGitHub');
|
||||
expect(window.openExternal).toHaveBeenCalledWith('https://github.com/containers/podman-desktop');
|
||||
});
|
||||
|
||||
expect(onCloseFormMock).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
test('Expect category to be sent', async () => {
|
||||
|
|
|
|||
|
|
@ -70,7 +70,6 @@ async function sendFeedback(): Promise<void> {
|
|||
}
|
||||
|
||||
async function openGitHub(): Promise<void> {
|
||||
onCloseForm(false);
|
||||
await window.telemetryTrack('feedback.openGitHub');
|
||||
await window.openExternal('https://github.com/containers/podman-desktop');
|
||||
}
|
||||
|
|
|
|||
|
|
@ -182,9 +182,10 @@ test.each<GitHubFeedbackCategory>([
|
|||
'bug',
|
||||
'feature',
|
||||
])('Expect %s to be included in previewOnGitHub call', async category => {
|
||||
const onCloseFormMock = vi.fn();
|
||||
const { preview, title, description } = renderGitHubIssueFeedback({
|
||||
category: category,
|
||||
onCloseForm: vi.fn(),
|
||||
onCloseForm: onCloseFormMock,
|
||||
contentChange: vi.fn(),
|
||||
});
|
||||
|
||||
|
|
@ -205,6 +206,8 @@ test.each<GitHubFeedbackCategory>([
|
|||
category: category,
|
||||
}),
|
||||
);
|
||||
|
||||
expect(onCloseFormMock).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
describe('includeSystemInfo', () => {
|
||||
|
|
@ -366,3 +369,20 @@ test('Expect close confirmation to be true if cancel clicked', async () => {
|
|||
expect(closeMock).toHaveBeenCalledOnce();
|
||||
expect(closeMock).toHaveBeenCalledWith(true);
|
||||
});
|
||||
|
||||
test('Expect opening existing GitHub issues to not close the feedback window', async () => {
|
||||
const onCloseFormMock = vi.fn();
|
||||
const { getByLabelText } = renderGitHubIssueFeedback({
|
||||
category: 'bug',
|
||||
onCloseForm: onCloseFormMock,
|
||||
contentChange: vi.fn(),
|
||||
});
|
||||
|
||||
const gitHubLink = getByLabelText('GitHub issues');
|
||||
expect(gitHubLink).toBeInTheDocument();
|
||||
|
||||
await userEvent.click(gitHubLink);
|
||||
|
||||
expect(window.openExternal).toHaveBeenCalled();
|
||||
expect(onCloseFormMock).not.toHaveBeenCalled();
|
||||
});
|
||||
|
|
|
|||
|
|
@ -48,7 +48,6 @@ onMount(async () => {
|
|||
});
|
||||
|
||||
async function openGitHubIssues(): Promise<void> {
|
||||
onCloseForm(false);
|
||||
await window.openExternal(existingIssuesLink);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue