From 3352e7ebb6a9f47a9f31e95cd2cce4c3b2d7c8e0 Mon Sep 17 00:00:00 2001 From: Largopie Date: Tue, 12 Nov 2024 13:43:29 +0900 Subject: [PATCH 1/4] =?UTF-8?q?refactor:=20=EB=A7=81=ED=81=AC=20=EA=B2=BD?= =?UTF-8?q?=EB=A1=9C=20=EC=83=81=EC=88=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/pages/MeetingLinkSharePage/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/pages/MeetingLinkSharePage/index.tsx b/frontend/src/pages/MeetingLinkSharePage/index.tsx index 52138ddc6..2e6e1556c 100644 --- a/frontend/src/pages/MeetingLinkSharePage/index.tsx +++ b/frontend/src/pages/MeetingLinkSharePage/index.tsx @@ -39,7 +39,7 @@ export default function MeetingLinkSharePage() { state: { meetingInfo }, } = useLocation() as RouteState; - const LINK = `${window.location.protocol}/${window.location.host}/meeting/${uuid}`; + const LINK = `${window.location.origin}/meeting/${uuid}`; const { handleKakaoTalkShare } = useKakaoTalkShare(); From 467caa518d4b0d8f6e878a679fd85ed39d0e0c43 Mon Sep 17 00:00:00 2001 From: Largopie Date: Fri, 6 Dec 2024 16:45:54 +0900 Subject: [PATCH 2/4] =?UTF-8?q?refactor(useCalendar):=20=EC=83=81=EC=88=98?= =?UTF-8?q?=20=ED=9B=85=20=EB=82=B4=EB=B6=80=20=EC=9D=B4=EB=8F=99=20?= =?UTF-8?q?=EB=B0=8F=20moveToNextMonth=20=EB=82=B4=EB=B6=80=20=EB=A1=9C?= =?UTF-8?q?=EC=A7=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/hooks/useCalendar/useCalendar.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/src/hooks/useCalendar/useCalendar.ts b/frontend/src/hooks/useCalendar/useCalendar.ts index 6e03e1def..5f1665d44 100644 --- a/frontend/src/hooks/useCalendar/useCalendar.ts +++ b/frontend/src/hooks/useCalendar/useCalendar.ts @@ -27,12 +27,12 @@ interface useCalendarReturn { isCurrentMonth: boolean; } -const TODAY = new Date(); -const ONE_YEAR_LATER = getFullDate(new Date(getYear(TODAY) + 1, getMonth(TODAY))); - type MonthDelta = -1 | 1; const useCalendar = (): useCalendarReturn => { + const TODAY = new Date(); + const ONE_YEAR_LATER = getFullDate(new Date(getYear(TODAY) + 1, getMonth(TODAY))); + const [currentFullDate, setCurrentFullDate] = useState(new Date()); const { addToast } = useToast(); @@ -51,7 +51,7 @@ const useCalendar = (): useCalendarReturn => { const moveToNextMonth = () => { const fullDate = getFullDate(currentFullDate); - if (fullDate >= ONE_YEAR_LATER) { + if (new Date(fullDate).getTime() >= new Date(ONE_YEAR_LATER).getTime()) { addToast({ message: TOAST_MESSAGES.OUT_OF_ONE_YEAR_RANGE, type: 'warning', From b08aeef39df44334c9f850be12b2f66b0f6454f1 Mon Sep 17 00:00:00 2001 From: Largopie Date: Fri, 6 Dec 2024 16:47:31 +0900 Subject: [PATCH 3/4] =?UTF-8?q?test(useCalendar):=20=ED=85=8C=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=20=EC=BC=80=EC=9D=B4=EC=8A=A4=20=EB=A1=9C=EC=A7=81=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/hooks/useCalendar/useCalendar.test.ts | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/frontend/src/hooks/useCalendar/useCalendar.test.ts b/frontend/src/hooks/useCalendar/useCalendar.test.ts index 33f616e1a..f7c254d8c 100644 --- a/frontend/src/hooks/useCalendar/useCalendar.test.ts +++ b/frontend/src/hooks/useCalendar/useCalendar.test.ts @@ -1,4 +1,4 @@ -import { act } from 'react'; +import { act } from '@testing-library/react'; import renderHookWithProvider from '@hooks/__test__/renderHookWithProvider'; @@ -191,17 +191,18 @@ describe('useCalendar', () => { const TEST_DATE = 4; beforeEach(() => { - jest.setSystemTime(new Date(TEST_YEAR + 1, TEST_MONTH, TEST_DATE)); + jest.setSystemTime(new Date(TEST_YEAR, TEST_MONTH, TEST_DATE)); }); - it('현재 월 기준, 약속 날짜 범위가 1년을 벗어나면 토스트 UI를 활용하여 사용자에게 예외 피드백을 전달한다', () => { + it('현재 월 기준, 약속 날짜 범위가 1년을 벗어나면 토스트 UI를 활용하여 사용자에게 예외 피드백을 전달한다', async () => { const { result } = renderHookWithProvider(useCalendar); - const { view } = result.current; - const { moveToNextMonth } = view; - act(() => { - moveToNextMonth(); - }); + // 총 13번의 moveToNextMonth() 함수 실행 + for (let i = 0; i < 13; i++) { + await act(async () => { + result.current.view.moveToNextMonth(); + }); + } expect(mockAddToast).toHaveBeenCalledWith({ message: TOAST_MESSAGES.OUT_OF_ONE_YEAR_RANGE, From b71a372ca7787aa3671ae24ad4a0b19a9c1a741b Mon Sep 17 00:00:00 2001 From: Largopie Date: Fri, 6 Dec 2024 19:13:00 +0900 Subject: [PATCH 4/4] =?UTF-8?q?test(useCalendar):=20=EB=B3=80=EA=B2=BD?= =?UTF-8?q?=EB=90=9C=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20=EC=BC=80=EC=9D=B4?= =?UTF-8?q?=EC=8A=A4=20=EC=A3=BC=EC=84=9D=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/hooks/useCalendar/useCalendar.test.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frontend/src/hooks/useCalendar/useCalendar.test.ts b/frontend/src/hooks/useCalendar/useCalendar.test.ts index f7c254d8c..b2cc0011e 100644 --- a/frontend/src/hooks/useCalendar/useCalendar.test.ts +++ b/frontend/src/hooks/useCalendar/useCalendar.test.ts @@ -197,13 +197,14 @@ describe('useCalendar', () => { it('현재 월 기준, 약속 날짜 범위가 1년을 벗어나면 토스트 UI를 활용하여 사용자에게 예외 피드백을 전달한다', async () => { const { result } = renderHookWithProvider(useCalendar); - // 총 13번의 moveToNextMonth() 함수 실행 + // 1년이 12달이므로 moveToNextMonth() 함수를 13반 호출하면 범위를 초과합니다. for (let i = 0; i < 13; i++) { await act(async () => { result.current.view.moveToNextMonth(); }); } + // 1년의 범위가 초과되었을 때, 토스트 메시지가 정상적으로 출력되는지 확인합니다. expect(mockAddToast).toHaveBeenCalledWith({ message: TOAST_MESSAGES.OUT_OF_ONE_YEAR_RANGE, type: 'warning',