diff --git a/client/src/api/rueckfragen/rueckfragenAPI.spec.ts b/client/src/api/rueckfragen/rueckfragenAPI.spec.ts index 698fbf0b11a146b71757287e0fac42a279becc18..32878a812f60c2160b08bdc25802c6c416987f1f 100644 --- a/client/src/api/rueckfragen/rueckfragenAPI.spec.ts +++ b/client/src/api/rueckfragen/rueckfragenAPI.spec.ts @@ -27,12 +27,12 @@ import { SEND_FAILED, sendMessage } from "./rueckfragenAPI"; -import { Command, CommandReference, Message, Rueckfrage, RueckfrageHeader } from "../types"; +import { Antwort, Command, CommandReference, Rueckfrage, RueckfrageHeader } from "../types"; import axios from "axios"; jest.mock("axios"); -describe("Topic API tests", () => { +describe("Rueckfrage API tests", () => { afterEach(() => { jest.clearAllMocks(); // reset call counts }); @@ -130,7 +130,8 @@ describe("Topic API tests", () => { ...rueckfrage, antworten: [ { - id: "1", + id: "2", + rueckfrageId: "1", postfachId: "sjkdfhlksdfsdf", nachrichtEventId: "1", message: "test message", @@ -191,9 +192,10 @@ describe("Topic API tests", () => { status: "FINISHED", createdAt: 1 }; - const newMessage: Message = { + const newMessage: Antwort = { attachments: [], id: "1", + rueckfrageId: "1", postfachId: "sjkdfhlksdfsdf", nachrichtEventId: "1", message: "New message" diff --git a/client/src/api/rueckfragen/rueckfragenAPI.ts b/client/src/api/rueckfragen/rueckfragenAPI.ts index 0cd4ca4e9024b5e700c45709a7d08d61365c6a8c..dd990fabb4ba75b3f8afac5755a5a1822f81adc8 100644 --- a/client/src/api/rueckfragen/rueckfragenAPI.ts +++ b/client/src/api/rueckfragen/rueckfragenAPI.ts @@ -20,7 +20,7 @@ * unter der Lizenz sind dem Lizenztext zu entnehmen. */ import axios from "axios"; -import { Command, CommandReference, Message, Rueckfrage, RueckfrageHeader } from "../types"; +import { Antwort, Command, CommandReference, Rueckfrage, RueckfrageHeader } from "../types"; export const SEND_FAILED = "send failed"; export const STATUS_CHECK_FAILED = "sending status check failed"; @@ -58,7 +58,7 @@ export async function getRueckfrageOfPostfach(link: string): Promise<Rueckfrage> } } -export async function sendMessage(newMessage: Message): Promise<Message> { +export async function sendMessage(newMessage: Antwort): Promise<Antwort> { try { const response = await axios.put(`/api/antwort`, newMessage, { timeout: SEND_TIMEOUT_IN_MS }); await checkSendStatus(response.data); diff --git a/client/src/api/types.ts b/client/src/api/types.ts index 6b31d8975b05a96ba4488cd77f0eadbbc99bd56f..a459be77bd363acb547a7d39729735b6e53788a0 100644 --- a/client/src/api/types.ts +++ b/client/src/api/types.ts @@ -43,6 +43,10 @@ interface Nachricht extends Message { trustLevel: TrustLevel; } +export interface Antwort extends Message { + rueckfrageId: string; +} + interface NachrichtHeader extends BaseMessage { title: string; vorgangId: string; @@ -61,7 +65,7 @@ interface BaseRueckfrage { export interface Rueckfrage extends BaseRueckfrage { nachricht: Nachricht; - antworten: Message[]; + antworten: Antwort[]; } interface RueckfrageLink { diff --git a/client/src/features/rueckfragen/rueckfrageSlice.spec.ts b/client/src/features/rueckfragen/rueckfrageSlice.spec.ts index 05ecf855466407cbe00c3013161f09ccd6e2bae6..49f5fc46760584dac41fe1086f6290078b682415 100644 --- a/client/src/features/rueckfragen/rueckfrageSlice.spec.ts +++ b/client/src/features/rueckfragen/rueckfrageSlice.spec.ts @@ -21,7 +21,7 @@ */ import * as api from "../../api/rueckfragen/rueckfragenAPI"; -import { Message, Rueckfrage, RueckfrageHeader } from "../../api/types"; +import { Antwort, Rueckfrage, RueckfrageHeader } from "../../api/types"; import { store } from "../../store"; import { clearSelectedRueckfrage, @@ -167,8 +167,9 @@ describe("rueckfragen reducer tests", () => { }); describe("sendMessageThunk tests", () => { - const newMessage: Message = { + const newMessage: Antwort = { id: "2", + rueckfrageId: "2", postfachId: "sjkdfhlksdfsdf", nachrichtEventId: "1", message: "Test", @@ -188,6 +189,7 @@ describe("rueckfragen reducer tests", () => { it("should call sendMessage from api", () => { const mockMessage = { id: "3", + rueckfrageId: "3", attachments: [], date: 12345, message: "", diff --git a/client/src/features/rueckfragen/rueckfrageSlice.ts b/client/src/features/rueckfragen/rueckfrageSlice.ts index fd48633f61be13194c1e290e12217dd7f2fca9e4..e80e163fb071ff2566d9851cc8eff845ffde5302 100644 --- a/client/src/features/rueckfragen/rueckfrageSlice.ts +++ b/client/src/features/rueckfragen/rueckfrageSlice.ts @@ -20,7 +20,7 @@ * unter der Lizenz sind dem Lizenztext zu entnehmen. */ import { createAsyncThunk, createSlice } from "@reduxjs/toolkit"; -import { Message, Rueckfrage, RueckfrageHeader } from "../../api/types"; +import { Antwort, Rueckfrage, RueckfrageHeader } from "../../api/types"; import { getRueckfrageHeadersOfPostfach, getRueckfrageOfPostfach, @@ -87,7 +87,7 @@ const rueckfragenSlice = createSlice({ } }); -function updateRueckfrage(selectedRueckfrage: Rueckfrage, newMessage: Message): Rueckfrage { +function updateRueckfrage(selectedRueckfrage: Rueckfrage, newMessage: Antwort): Rueckfrage { return { ...selectedRueckfrage, antworten: [...selectedRueckfrage.antworten, newMessage] @@ -109,7 +109,7 @@ export const fetchRueckfragenThunk = createAsyncThunk( interface SendMessagePayload { id: string; - newMessage: Message; + newMessage: Antwort; } export const sendMessageThunk = createAsyncThunk( diff --git a/client/src/lib/rueckfragen/isRueckfrageMarkedNew.spec.ts b/client/src/lib/rueckfragen/isRueckfrageMarkedNew.spec.ts index dfe62cc01cc8a7c6d39b3b6d32c3a103471f1550..d5aa9f8420262161dbb92f004fa31371b8dc9019 100644 --- a/client/src/lib/rueckfragen/isRueckfrageMarkedNew.spec.ts +++ b/client/src/lib/rueckfragen/isRueckfrageMarkedNew.spec.ts @@ -66,7 +66,8 @@ describe("is rueckfrage marked new tests", () => { }, antworten: [ { - id: "1", + id: "2", + rueckfrageId: "1", postfachId: "sjkdfhlksdfsdf", nachrichtEventId: "1", message: "test message", diff --git a/client/src/routes/detail/DetailPage.tsx b/client/src/routes/detail/DetailPage.tsx index c9fe4ac6c81f12161197f6d6e15940356b393436..fe4c5708f2d80fea88f3c241db61c2a133ae36c1 100644 --- a/client/src/routes/detail/DetailPage.tsx +++ b/client/src/routes/detail/DetailPage.tsx @@ -35,7 +35,7 @@ import { resetRueckfrageHeaderStatus, sendMessageThunk } from "../../features/rueckfragen/rueckfrageSlice"; -import { Message } from "../../api/types"; +import { Antwort } from "../../api/types"; import { LoadingPage } from "../../components/Core/Loading Page/LoadingPage"; import { ErrorPage } from "../../components/Core/Error Page/ErrorPage"; import { formatTimestampToDate, formatTimestampToDateAndTime } from "../../lib/date"; @@ -143,8 +143,9 @@ export function DetailPage() { return; // the message should not be empty or contain only whitespaces } - const newMessage: Message = { + const newMessage: Antwort = { id: selectedRueckfrage!.nachricht.id, + rueckfrageId: selectedRueckfrage!.nachricht.id, postfachId: selectedRueckfrage!.nachricht.postfachId, nachrichtEventId: selectedRueckfrage!.nachricht.nachrichtEventId, message,