-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #47 from Selody-project/30-front-task-개인일정-리스트
feat: 개인일정 등록 (#30)
- Loading branch information
Showing
24 changed files
with
1,294 additions
and
231 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
import { rest } from "msw"; | ||
|
||
const BASE_URL = "http://localhost:8000"; | ||
|
||
export const handlers = [ | ||
rest.post(`${BASE_URL}/api/user/calendar`, (req, res, ctx) => { | ||
return res( | ||
ctx.status(201), | ||
ctx.json({ message: "Successfully create user schedule" }), | ||
); | ||
}), | ||
]; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
import { setupServer } from "msw/node"; | ||
import { handlers } from "./handlers.js"; | ||
|
||
export const server = setupServer(...handlers); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
import { rest } from "msw"; | ||
import { server } from "../__mocks__/msw/server.js"; | ||
|
||
import { store } from "../../src/store/index.js"; | ||
import { createSchedule } from "../../src/features/schedule/schedule-service.js"; | ||
|
||
const mockSchedule = { | ||
title: "Test title", | ||
details: "Test details", | ||
startDate: "2023-06-04", | ||
endDate: "2023-06-20", | ||
startTime: "10:00", | ||
endTime: "11:00", | ||
repeat: "None", | ||
notification: "None", | ||
}; | ||
|
||
describe("schedule slice", () => { | ||
beforeAll(() => { | ||
server.use( | ||
rest.post("/api/user/calendar", (req, res, ctx) => { | ||
return res(ctx.status(500)); | ||
}), | ||
); | ||
}); | ||
|
||
it("handles createSchedule failure", async () => { | ||
const initialScheduleState = { | ||
schedule: [], | ||
isLoading: false, | ||
}; | ||
|
||
expect(store.getState().schedule).toEqual(initialScheduleState); | ||
|
||
server.use( | ||
rest.post("/api/user/calendar", (req, res, ctx) => { | ||
return res(ctx.status(500)); | ||
}), | ||
); | ||
|
||
await store.dispatch(createSchedule(mockSchedule)); | ||
|
||
expect(store.getState().schedule.isLoading).toBe(false); | ||
}); | ||
|
||
it("handles createSchedule success", async () => { | ||
const initialScheduleState = { | ||
schedule: [], | ||
isLoading: false, | ||
}; | ||
|
||
expect(store.getState().schedule).toEqual(initialScheduleState); | ||
|
||
await store.dispatch(createSchedule(mockSchedule)); | ||
|
||
expect(store.getState().schedule.isLoading).toBe(false); | ||
}); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,30 +1,19 @@ | ||
// { | ||
// "testEnvironment": "jsdom", | ||
// "transform": { | ||
// "^.+\\.jsx?$": "babel-jest" | ||
// }, | ||
// "transformIgnorePatterns": [ | ||
// "/node_modules/(?!@emotion/react|@emotion/styled|@react-oauth/google|react-icons|react-modal|react-toastify|styled-components)" | ||
// ], | ||
// "setupFilesAfterEnv": [ | ||
// "<rootDir>/jest.setup.js" | ||
// ], | ||
// "moduleNameMapper": { | ||
// "react-calendar/dist/Calendar.css": "<rootDir>/__mocks__/mock.js", | ||
// "\\.(css|less|scss|sass)$": "<rootDir>/__mocks__/styleMock.js" | ||
// } | ||
// } | ||
|
||
module.exports = { | ||
testEnvironment: 'jsdom', | ||
transform: { | ||
'^.+\\.jsx?$': 'babel-jest', | ||
}, | ||
transformIgnorePatterns: [ | ||
'/node_modules/(?!@emotion/react|@emotion/styled|@react-oauth/google|react-icons|react-modal|react-toastify|styled-components)', | ||
], | ||
setupFilesAfterEnv: ['<rootDir>/jest.setup.js'], | ||
moduleNameMapper: { | ||
'\\.(css|less|scss|sass)$': '<rootDir>/__mocks__/styleMock.js', | ||
}, | ||
testEnvironment: "jsdom", | ||
transform: { | ||
"^.+\\.jsx?$": "babel-jest", | ||
}, | ||
transformIgnorePatterns: [ | ||
"/node_modules/(?!@emotion/react|@emotion/styled|@react-oauth/google|react-icons|react-modal|react-toastify|styled-components)", | ||
], | ||
setupFilesAfterEnv: ["<rootDir>/jest.setup.js"], | ||
moduleNameMapper: { | ||
"^@/(.*)$": "<rootDir>/src/$1", | ||
"^@components/(.*)$": "<rootDir>/src/components/$1", | ||
"^@pages/(.*)$": "<rootDir>/src/pages/$1", | ||
"^@features/(.*)$": "<rootDir>/src/features/$1", | ||
"^@store/(.*)$": "<rootDir>/src/store/$1", | ||
"^@utils/(.*)$": "<rootDir>/src/utils/$1", | ||
"\\.(css|less|scss|sss|styl)$": "<rootDir>/node_modules/jest-css-modules", | ||
}, | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,27 @@ | ||
window.matchMedia = | ||
window.matchMedia || | ||
function () { | ||
return { | ||
matches: false, | ||
addListener: function () {}, | ||
removeListener: function () {}, | ||
}; | ||
}; | ||
import "@testing-library/jest-dom/extend-expect"; | ||
import { server } from "./__test__/__mocks__/msw/server.js"; | ||
|
||
beforeAll(() => server.listen()); | ||
afterEach(() => server.resetHandlers()); | ||
afterAll(() => server.close()); | ||
|
||
import React from "react"; | ||
import { render as rtlRender } from "@testing-library/react"; | ||
import { Provider } from "react-redux"; | ||
import { BrowserRouter } from "react-router-dom"; | ||
import { GoogleOAuthProvider } from "@react-oauth/google"; | ||
import { store } from "./src/store/index.js"; | ||
|
||
const render = (ui, { ...options } = {}) => { | ||
const Wrapper = ({ children }) => ( | ||
<GoogleOAuthProvider clientId="379597382111-vo2ht0r8a3d0ais7v12q7777lu48al1a.apps.googleusercontent.com"> | ||
<Provider store={store}> | ||
<BrowserRouter>{children}</BrowserRouter> | ||
</Provider> | ||
</GoogleOAuthProvider> | ||
); | ||
return rtlRender(ui, { wrapper: Wrapper, ...options }); | ||
}; | ||
|
||
export * from "@testing-library/react"; | ||
export { render }; |
Oops, something went wrong.