fix: duplicate response and contact deletion calls (#6489)

This commit is contained in:
Dhruwang Jariwala
2025-09-02 11:19:20 +05:30
committed by GitHub
parent bd48139a4f
commit 3a4e2a9f85
15 changed files with 59 additions and 67 deletions
@@ -31,7 +31,7 @@ const dummyEnvironment = { id: "env1" } as TEnvironment;
const dummyUser = { id: "user1", email: "user1@example.com", name: "User One" } as TUser;
const dummyLocale = "en-US";
const dummyDeleteResponses = vi.fn();
const dummyUpdateResponseList = vi.fn();
const dummyUpdateResponse = vi.fn();
const dummySetSelectedResponseId = vi.fn();
@@ -85,7 +85,7 @@ describe("SingleResponseCard", () => {
environmentTags={[]}
environment={dummyEnvironment}
updateResponse={dummyUpdateResponse}
deleteResponses={dummyDeleteResponses}
updateResponseList={dummyUpdateResponseList}
isReadOnly={true}
setSelectedResponseId={dummySetSelectedResponseId}
locale={dummyLocale}
@@ -105,7 +105,7 @@ describe("SingleResponseCard", () => {
environmentTags={[]}
environment={dummyEnvironment}
updateResponse={dummyUpdateResponse}
deleteResponses={dummyDeleteResponses}
updateResponseList={dummyUpdateResponseList}
isReadOnly={false}
setSelectedResponseId={dummySetSelectedResponseId}
locale={dummyLocale}
@@ -120,7 +120,7 @@ describe("SingleResponseCard", () => {
expect(deleteResponseAction).toHaveBeenCalledWith({ responseId: dummyResponse.id });
});
expect(dummyDeleteResponses).toHaveBeenCalledWith([dummyResponse.id]);
expect(dummyUpdateResponseList).toHaveBeenCalledWith([dummyResponse.id]);
});
test("calls toast.error when deleteResponseAction throws error", async () => {
@@ -133,7 +133,7 @@ describe("SingleResponseCard", () => {
environmentTags={[]}
environment={dummyEnvironment}
updateResponse={dummyUpdateResponse}
deleteResponses={dummyDeleteResponses}
updateResponseList={dummyUpdateResponseList}
isReadOnly={false}
setSelectedResponseId={dummySetSelectedResponseId}
locale={dummyLocale}
@@ -158,7 +158,7 @@ describe("SingleResponseCard", () => {
environmentTags={[]}
environment={dummyEnvironment}
updateResponse={dummyUpdateResponse}
deleteResponses={dummyDeleteResponses}
updateResponseList={dummyUpdateResponseList}
isReadOnly={false}
setSelectedResponseId={dummySetSelectedResponseId}
locale={dummyLocale}
@@ -23,7 +23,7 @@ interface SingleResponseCardProps {
environmentTags: TTag[];
environment: TEnvironment;
updateResponse?: (responseId: string, responses: TResponse) => void;
deleteResponses?: (responseIds: string[]) => void;
updateResponseList?: (responseIds: string[]) => void;
isReadOnly: boolean;
setSelectedResponseId?: (responseId: string | null) => void;
locale: TUserLocale;
@@ -36,7 +36,7 @@ export const SingleResponseCard = ({
environmentTags,
environment,
updateResponse,
deleteResponses,
updateResponseList,
isReadOnly,
setSelectedResponseId,
locale,
@@ -87,7 +87,7 @@ export const SingleResponseCard = ({
throw new Error(t("common.not_authorized"));
}
await deleteResponseAction({ responseId: response.id });
deleteResponses?.([response.id]);
updateResponseList?.([response.id]);
router.refresh();
if (setSelectedResponseId) setSelectedResponseId(null);
toast.success(t("environments.surveys.responses.response_deleted_successfully"));