-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weโll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cypress logic/#108 #116
Cypress logic/#108 #116
Conversation
โฆdate import paths
โฆ searchLectures
โฆn lectures and resetting mock DB
๐storybook: https://65ccb85d5afe55a024495bc0-woblsrgziw.chromatic.com/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
๊ณ ์ ๋ง์ผ์ จ์ต๋๋ค! ์ถ๊ฐ๋ก service์ command์ business ํด๋ ๋ด๋ถ hook์ ์ฐจ์ด์ ์ ๋ํด์ ๋ค์ ํ๋ฒ๋ง ๋ง์ํด์ฃผ์ค ์ ์๋์?
app/mocks/db.mock.ts
Outdated
lectureCode: lecture?.lectureCode, | ||
lectureName: lecture?.name, | ||
credit: lecture?.credit, | ||
}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if(!lecture} return false ๋ก ์ฒ๋ฆฌํด์ฃผ๊ธฐ ๋๋ฌธ์ ? ๋ฅผ ๋ถ์ด์ง ์์๋ ๋ ๊ฒ ๊ฐ์ต๋๋ค!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
window.addTakenLecture = async (lectureId: number[]) => { | ||
await Promise.all(lectureId.map((id) => addTakenLecture(id))); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
์ด ํจ์๊ฐ provider์์ ์ด๋ป๊ฒ ํ์ํ์ง ์ ์ ์์๊น์?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- ์ด ๋ถ๋ถ์ Cypress์์ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ชจ๋ธ ํจํด์ ์ฌ์ฉํ๊ธฐ ์ํด ์ฐธ์กฐ๋ฅผ ๋ฑ๋กํ๋ ๊ณผ์ ์ ๋๋ค. ์ ์ญ ๊ฐ์ฒด์ ์ฐธ์กฐ๋ฅผ ์ฐ๊ฒฐํด๋๋ฉด Cypress ์ฝ๋์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด ๋ด์ฉ์ E2E ํ ์คํธ์ ๋ํ ๋ฐฐ๊ฒฝ์ง์์ด ์กฐ๊ธ ํ์๋ก ํ๋ฐ, ์ ๊ฐ ์ง๊ธ ๊ด๋ จ ํฌ์คํ ์ ์์ฑํ๊ณ ์์ด์ ์์ฑ์ด ์๋ฃ๋๋ฉด ๊ณต์ ํ๋๋ก ํ๊ฒ ์ต๋๋ค.
- Cypress ์ฝ๋์์๋ ์๋์ฒ๋ผ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
cy.window().invoke( // name of the method 'addTakenLecture', testLectureIds, );
const defaultHandlers = [ | ||
http.get<never, never, never>(`${API_PATH.default}/reset`, async () => { | ||
mockDatabase.reset(); | ||
return HttpResponse.json({ status: 200 }); | ||
}), | ||
]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cypress provider์์ ์ฌ์ฉ์ค์ด๋๋ผ๊ตฌ์! provider ํจ์ ๋ด๋ถ์์ mockDatabase.reset()์ ์ง์ ํธ์ถํ ์๋ ์์ ๊ฒ ๊ฐ์๋ฐ, ๋ฐ๋ก handler๋ฅผ ๊ตฌํํ์ ์ด์ ๊ฐ ์์๊น์??
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- ์ง๊ธ ์ฐ๋ฆฌ ๊ตฌ์กฐ๋ mocking์ ์ํด express๋ก ์ ์ฉ ๋ชฉ ์๋ฒ๋ฅผ ์ด์ํ๊ณ ์์ต๋๋ค. ์ด๋ RSC์์๋ mocking์ ์ฌ์ฉํ๊ธฐ ์ํด ์ด๋ ๊ฒ ๊ตฌ์ฑ๋์์ต๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก, mockDatabase ๊ด๋ จ ์ฝ๋๊ฐ ๊ฐ์ ํด๋ ๊ตฌ์กฐ์ ์์นํ๊ณ ์์ด ์ฝ๋๋ฅผ ๊ณต์ ํ๋ค๊ณ ์๊ฐํ ์ ์์ง๋ง, express ์๋ฒ๊ฐ ๋ฉ๋ชจ๋ฆฌ์์ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ์ next๊ฐ ๋ฉ๋ชจ๋ฆฌ์์ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ ์๋ก ๋ถ๋ฆฌ๋์ด ์์ต๋๋ค. ๊ทธ๋์ mockDatabase.reset()๋ฅผ ํธ์ถํด๋ express ์๋ฒ์ ๋ฐ์ดํฐ๋ ์ด๊ธฐํ๋์ง ์์ต๋๋ค.
app/store/querys/result.ts
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
result ๋๋ฉ์ธ ๋ฆฌํฉํ ๋ง ํ๋ฉด์ type ํ์ผ์ ๋ฐ๋ก ๋ถ๋ฆฌํด๋ ์ข์ ๊ฒ ๊ฐ๋ค์
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
์ ๋ ํ์ผ์ ์ด๋ํ๋ฉฐ ํ์ ์ ํ์ธํ๋ ๊ฒ์ด ๋ถํธํ๋ค๊ณ ๋๊ปด ๋ถ๋ฆฌ๊ฐ ํ์ํ๋ค๊ณ ์๊ฐํ๊ธฐ ์ ๊น์ง๋ ํ์ผ์ ๋ถ๋ฆฌํ๋ ๊ฒ์ ์ ํธํ์ง ์์ต๋๋ค. ํน์ ํ์ ํ์ผ์ ๋ถ๋ฆฌํ๋ ๊ฒ์ ์ ํธํ์๋ ์ด์ ๊ฐ ์์๊น์?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
์ ๋ query ํจ์๋ฅผ ์ฐพ๊ธฐ ์ํด result ํ์ผ์ ์ด์๋๋ฐ ์ฌ๋ฌ type๋ค์ด ๋์ด๋์ด์์ ๋ ์ํ๋ ํจ์๋ฅผ ์ฐพ๋๊ฒ ๋ถํธํ๋ค๊ณ ๋๊ปด์ ๋ง์๋๋ ธ์ต๋๋ค! ๋ถ๋ฆฌ๊ฐ ํ์ํ๋ค๊ณ ์๊ฐํ๊ธฐ ์ ๊น์ง๋ ํ์ผ์ ๋ถ๋ฆฌํ๋ ๊ฒ์ ์ ํธํ์ง ์๋ค๊ณ ๋ง์ํ์
จ๋๋ฐ ์ ๋ ์ง๊ธ์ด ๋ถ๋ฆฌ๊ฐ ํ์ํ ์์ ์ด ์๋๊น? ๋ผ๊ณ ์๊ฐ์ ํ์ต๋๋ค.
ํ์ง๋ง ์ ๊ฐ ๊ฐ๋ฐ์ ํ๋ฉด์ ์ง์ ๋๋ ๋ถํธํจ์ด ์๋๊ธฐ์ ๋น์ฅ์ ํ์ผ ๋ถ๋ฆฌ๋ฅผ ํ ํ์๊ฐ ์์ ์ ์๊ฒ ๋ค์
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
๋ณ๊ฐ๋ก ๊ถ๊ธํ ์ ์ด ์๊ฒผ์ต๋๋ค!
์ ํฌ๋ ํ์ฌ ํด๋ ๋ถ๋ฆฌ๋ ํ์ผ ๋ถ๋ฆฌ์ ๋ํด ๊ด๋ฆฌํ๋๋ฐ ๋ถํธํจ์ด ์๊ธฐ๋ฉด ๊ทธ๋ ๊ทธ๋ ๋ถ๋ฆฌํ๋ฉด์ ์งํํ๊ณ ์์ต๋๋ค
ํ์ง๋ง ๊ฐ๊ฐ์ธ๋ง๋ค ๋ถ๋ฆฌ๊ฐ ํ์ํ๋ค๊ณ ๋๋ผ๋ ์์ ์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์ฌ๋ฌ ๋ช
์ด ์์
์ ํ ๋, ์ผ๊ด์ฑ์ด๋ ํต์ผ์ฑ์ด ๊นจ์ง ์ ์๋ค๋ ๋จ์ ์ด ์์ง ์์๊น ์ถ์๋ฐ ์ด์ ๋ํด์ ํน์ ์ด๋ป๊ฒ ์๊ฐํ์๋์??
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- ์กฐ๊ธ ๋ ๊ณ ๋ฏผํด ๋ณด๊ณ ๋ต๋ณ๋๋ฆฌ๊ณ ์ถ์๋ฐ, ๊ด์ฐฎ์๊น์? ๊ด์ฐฎ์ผ๋ฉด ๋ค์ ์คํ๋ฆฐํธ ๋ ๋ ผ์ํด ๋ด๋ ์ข์ ๋ฏ ํด์. ์ข์ ์ฃผ์ ์ธ ๊ฒ ๊ฐ์์.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
๋ต!
function deleteLecture(lectureId: number) { | ||
cy.dataCy(`taken-lecture-delete-model-trigger-${lectureId}`).click(); | ||
|
||
cy.dataCy('confirm-button').click(); | ||
|
||
cy.dataCy(`taken-lecture-delete-model-trigger-${lectureId}`).should('not.exist'); | ||
} | ||
}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ํด๋น deleteLecture์ test๋ฅผ ์ํ ํจ์๋ผ๊ณ ๋๊ปด์ ธ์ ์ฌ๊ธฐ์ ์๋๊ฒ ๋ ์ ํฉํ ๊ฒ ๊ฐ์ต๋๋ค!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- ์ฃผ์์ ์ ๊ฑฐํ์ง ์์๋ค์. ์๊ฒฌ ๊ฐ์ฌํฉ๋๋ค! ์ฌ๊ธฐ์ ๊ณ ๋ฏผํ ๋ถ๋ถ์ Cypress ํด๋์ support ํด๋๋ฅผ ์ดํด๋ณด๋ฉด, Cypress ์ฝ๋์์ ์ฌ์ฉ๊ฐ๋ฅํ ์ฌ์ฉ์ ์ ์ ์ปค๋งจ๋๋ฅผ ์ ์ํ ์ ์์ต๋๋ค. deleteLecture๊ฐ ๋ฐ๋ณต๋์ด ์ด๋ฅผ ์ปค๋งจ๋๋ก ๋ถ๋ฆฌํ์ฌ ๊ด๋ฆฌํ๋ ๊ฒ์ ๊ณ ๋ คํ์ต๋๋ค. ํ์ง๋ง, ํ์ฌ ์ด ํ ์คํธ ์ธ์ ์ฌ์ฉ๋๋ ๋ถ๋ถ์ด ์์ผ๋ฏ๋ก, ๋ค๋ฅธ ํ ์คํธ์์ ์ญ์ ๊ฐ ํ์ํ ๊ฒฝ์ฐ์๋ง ์ปค๋งจ๋๋ก ๋ถ๋ฆฌํ๋๋ก ํ๊ฒ ์ต๋๋ค.
Hook์ ํด๋ผ์ด์ธํธ์์ ์ํ๋ฅผ ์กฐ์ํ๋ ๋ก์ง์ ์ฒ๋ฆฌํ๋ ๊ฒ์ด๋ฉฐ, Command๋ ์๋ฒ ์ก์ ์ผ๋ก, ์๋ฒ์ ์ํ ๋ณ๊ฒฝ ์์ฒญ์ ํ๋ ๊ฒ์ผ๋ก ๊ตฌ๋ถํ ์ ์์ต๋๋ค. ๋ฐ์ดํฐ๊ฐ ์ด๋์ ์์น ํ๋๋์ ๋ฐ๋ผ ๋ถ๋ฆฌ๋๋ ๊ฒ์ผ๋ก ์ดํดํ๋ฉด ๋ฉ๋๋ค. |
๐storybook: https://65ccb85d5afe55a024495bc0-yvagrnkfha.chromatic.com/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
์๊ณ ๋ง์ผ์ จ์ต๋๋ค !
@@ -0,0 +1,15 @@ | |||
import { atom } from 'jotai'; | |||
|
|||
export interface TakenLectrueInfo { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TakenLectrueInfoResponse
์ ๋์ผํ๋ฐ ๋ณ๋๋ก ํ์
์์ฑํ์ ์ด์ ๊ฐ ์์๊น์?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
์์ฃผ์์ฃผ ์ข์ ํฌ์ธํธ์ ๋๋ค. ์ธ๊ธํด์ค์ ๊ณ ๋ง์์. ์ด์ ๋ ๊ฐ๋ ์ ๋ช ํํ๊ฒ ๊ตฌ๋ถํ๊ธฐ ์ํด์์ ๋๋ค. TakenLectureInfoResponse ํ์ ๊ณผ TakenLectureInfo ํ์ ์ '์ง๊ธ์' ๊ฐ์ ํ์ ์ ๊ฐ์ง๊ณ ์๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง, ์ค์ ๋ก๋ ๊ฐ๋ ์ ์ผ๋ก ๋ค๋ฅธ ํ์ ์ ๋๋ค. TakenLectureInfoResponse๋ ์๋ฒ์์ ๋ฐ์ ์๋ต ๊ฐ์ ํ์ ์ ๋ํ๋ด๊ณ , TakenLectureInfo๋ ํด๋ผ์ด์ธํธ์์ ์ฌ์ฉํ๋ ์๊ฐ ๊ณผ๋ชฉ ์ ๋ณด์ ํ์ ์ ๋ํ๋ ๋๋ค.
ํ์ฌ ๋ ํ์ ์ ๊ฐ์ง๋ง, ์๋ฒ ์๋ต ๊ฐ์ธ TakenLectureInfoResponse๋ ์ธ์ ๋ ๋ณ๊ฒฝ๋ ์ ์์ต๋๋ค. TakenLectureInfo๋ฅผ ๋ฐ๋ก ์ ์ํ์ง ์๊ณ TakenLectureInfoResponse๋ฅผ ์ฌ์ฉํ๋ค๋ฉด, ํ์ฌ TakenLectureInfo๋ฅผ ์ฌ์ฉํ๋ ๋ชจ๋ ์ปดํฌ๋ํธ๋ฅผ ์์ ํด์ผ ํ ๊ฒ์ ๋๋ค. ํ์ง๋ง ๋ ํ์ ์ ๋ถ๋ฆฌํด๋๋ฉด, TakenLectureInfoResponse๊ฐ ๋ณ๊ฒฝ๋๋๋ผ๋ TakenLectureInfo๋ ์ ์งํ๋ฉด์ '๋ณํ ํจ์'๋ ๋ณํ ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด TakenLectureInfo ํ์ ์ ๊ณ์ ์ ์งํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ปดํฌ๋ํธ๋ฅผ ๋ณ๊ฒฝํ ํ์๊ฐ ์์ต๋๋ค.
์ด๋ ์ปดํฌ๋ํธ์ ์๋ฒ ๊ฐ์ ๊ฒฐํฉ์ ๋ถ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์ปดํฌ๋ํธ๋ ์๋ฒ๊ฐ ๋ณ๊ฒฝ๋๋ ๊ฒ์ ๋ํด ์ ํ์๊ฐ ์์ต๋๋ค. ๋จ์ง ๋ ๋๋ง์ ํ์ํ ๋ฐ์ดํฐ๋ง ์์ผ๋ฉด ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ์๋ค์ํผ ์๋ฒ๋ ๋ ๋๋ง๊ณผ ๊ด๋ จ๋ ์ด์ ์ธ์๋ ์ฌ๋ฌ ๊ฐ์ง ์ด์ ๋ก ๋ณ๊ฒฝ๋ฉ๋๋ค. ์ด๋ฌํ ๋ณ๊ฒฝ์ผ๋ก๋ถํฐ ์ปดํฌ๋ํธ์ ๋ณ๊ฒฝ์ ๋ณดํธํ ์ ์์ต๋๋ค.
๋ํ, ํ์ ์คํฌ๋ฆฝํธ๋ ๊ตฌ์กฐ์ ํ์ดํ ์ธ์ด์ด๋ฏ๋ก, ํ์ฌ ์ฌ์ฉํ๋ ๋ฐ ์๋ฌด๋ฐ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋ง์ฝ ์๋ฒ์์ ๋ณ๊ฒฝ์ด ์๊ฒจ TakenLectureInfoResponse๋ฅผ ์์ ํ๊ฒ ๋๋ฉด, ํ์ ์คํฌ๋ฆฝํธ์์ ์ปดํ์ผ ์๋ฌ๊ฐ ๋ฐ์ํ ๊ฒ์ ๋๋ค. ๊ทธ๋ ๋ณํ ํจ์๋ ๊ฐ์ฒด๋ฅผ ์ด์ฉํด ๋ณํํ ์ง, ์๋๋ฉด TakenLectureInfo๋ฅผ ์์ ํ ์ง ๊ฒฐ์ ํ๋ฉด ๋ฉ๋๋ค.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
์น์ ํ ์ค๋ช ๊ฐ์ฌํฉ๋๋ค. ์ด์ ์ ์ค๋ช ํด์ฃผ์ จ๋ TakenLectureInfoResponse๊ณผ TakenLectureInfo๋ฅผ ๋ถ๋ฆฌํ์๊ณ ์ ์์ฃผ์ จ๋ ์๊ฒฌ๊ณผ ๊ฐ์ ๋งฅ๋ฝ์ ๊ณต์ ํ๊ณ ์๋ ๊ฒ ๊ฐ๋ค์. TakenLectureInfoResponse๋ ์ธ์ ๋ ๋ณ๊ฒฝ๋ ์ ์๊ณ , ์๋ฒ์ ๋ณ๊ฒฝ์ ๋ํ ์ํ์ ๊ฐ์ํ์ง ์๊ธฐ ์ํด์ TakenLectureInfo๋ฅผ ๋ถ๋ฆฌํ๋ ๊ฒ์ ๋ํด์๋ ์ข์ ํด๊ฒฐ๋ฐฉ์์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๋ค๋ง ๊ถ๊ธํ ์ ์, ํ์ฌ์๋ ์์ ํ ๋์ผํ ํ์ ์ ๊ฐ๊ณ ์์ผ๋ฉฐ ๊ทผ ์์ผ๋ด์ ๋ณ๋๋ก ๋ณ๊ฒฝ์ด ์์๋์ง ์์์๋ ๋ถ๊ตฌํ๊ณ ๋ณ๋๋ก ํ์ ์ ๋ง๋์ จ๋ค๋ ๋ถ๋ถ์ ๋๋ค. ๊ฐ์ ๋ ผ๋ฆฌ์ ์ํ๋ฉด ์๋ฒ์์ response๋ฅผ ๋ฐ๊ณ ์๋ ๋ชจ๋ ํ์ ์ ๋ํด์๋ ์๋ฒ์ ํด๋ผ์ด์ธํธ์ ์ปดํฌ๋ํธ ์ฌ์ด์ ํ์ ๋ถ๋ฆฌ๋ฅผ ์งํํด์ผํฉ๋๋ค.
๊ทธ๋์ ์ ํฌ๋
- ๊ฐ๋ฅ์ฑ์ ๋ชฉ์ ์ผ๋ก ํ์ฌ ์ํ์์ ๋ชจ๋ ์๋ฒ ํ์ ๊ณผ ํด๋ผ์ด์ธํธ์ ์ปดํฌ๋ํธ ์ฌ์ด์ ํ์ ์ ๋ถ๋ฆฌํ๋ ๋ฐฉ๋ฒ
- ๋ณ๊ฒฝ์ ์งํํ๊ฑฐ๋ ๊ทผ์์ผ๋ด์ ๊ฐ๋ฅ์ฑ์ด ์กด์ฌํ๋ ๊ฒฝ์ฐ์ ํํด์๋ง ๋ณ๊ฒฝ์ ์งํ ๋ฐฉ๋ฒ
๋ ์ค์ ํ๋๋ฅผ ์ ํํ๋ ๊ฒ์ด ์ข์๋ณด์ธ๋ค๋ ์๊ฐ์ด ๋ค์์ต๋๋ค. ํน์ ์ง๊ธ ์์ ์ ํ์ ์ ๋ถ๋ฆฌํ์ ์ด์ ๊ฐ ์์ผ์๋ค๋ฉด ๋ ๋ฃ๊ณ ์ถ์ต๋๋ค!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
์๊ฒฌ ๊ณ ๋ง์ต๋๋ค. 3๊ฐ์ง๋ฅผ ๋ง์๋๋ฆฌ๊ณ ์ถ์ต๋๋ค. ๋จผ์ , ์๋ฒ์์ ๋ฐ๋ ๋ชจ๋ ์๋ต ํ์ ๊ณผ ํด๋ผ์ด์ธํธ ์ปดํฌ๋ํธ ๊ฐ์ ํ์ ๋ถ๋ฆฌ๋ฅผ ์งํํ ํ์๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ด๋ TakenLectureInfo์ ๋ค๋ฅธ ์๋ต์ด ๋ช ํํ๊ฒ ๊ตฌ๋ถ๋๊ธฐ ๋๋ฌธ์ ๋๋ค. TakenLectureInfo๋ use-taken-lecture ํ ์์ ์ฒ๋ผ ํด๋ผ์ด์ธํธ์์ ์ํ๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐ๋ฉด, ๋ค๋ฅธ ์๋ต์ ๋จ์ํ ๋ฐ์์ ์ ๋ฌํ๋ ์ฟผ๋ฆฌ์ ์ญํ ์ ํ๊ณ ์์ต๋๋ค. ์ฆ ๋์ ๊ฐ๋ ์ ์ผ๋ก ๋ค๋ฆ ๋๋ค.
๋ ๋ฒ์งธ๋ก, ์ ๋ ๊ทผ ์์ผ ๋ด์ ๋ณ๋์ ๋ณ๊ฒฝ์ด ์์๋์ง ์๋๋ค๋ ์ ์๋ ๋์ํ์ง ์์ต๋๋ค. ๋ง์ด๊ทธ๋ ์ด์ ์์ ๋์ค์๋ API ๋ช ์ธ ๋ณ๊ฒฝ์ด ๋ฐ์ํ๊ณ , ์ด๋ฐ ์ํฉ์ ์์ธก ๊ฐ๋ฅํ ๊ฒ์ด ์๋, ์์ ์ ์งํํ๋ฉด์ ๋๋ ์๋ฒ์ธก ์ฌ์ ์ผ๋ก ๋ฐ์ํฉ๋๋ค. ๋ฐ๋ผ์ ๊ทผ ์์ผ ๋ด์ ๋ณ๊ฒฝ ๊ฐ๋ฅ์ฑ์ ์์ธกํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ๋ฉฐ, ํ์ค์ ์ผ๋ก ๊ฐ๋ฅํ ๊ธฐ์ค์ด ์๋๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๋ง์ง๋ง์ผ๋ก, TakenLectureInfoResponse์ TakenLectureInfo๋ฅผ ๋ถ๋ฆฌํ๋ ๊ฒ์ ๊ธฐ๋ฅ์ ์ธ ๋ถ๋ฆฌ ์ธ์๋ ๊ฐ๋ ์ ๊ตฌ๋ถ์ ํตํด ๊ฐ๋ ์ฑ์ ๋์ด๋๋ฐ ๋์์ด ๋๋ค๊ณ ์๊ฐํฉ๋๋ค. TakenLectureInfo๋ ํด๋ผ์ด์ธํธ์์ ์ํ๋ฅผ ๊ด๋ฆฌํ๊ณ ์๊ธฐ ๋๋ฌธ์, ์ด ์ ์ด ์๋ต๊ณผ๋ ํ์คํ ๊ตฌ๋ถ๋ฉ๋๋ค. ๋ฐ๋ผ์ ๋ณ๊ฒฝ์ด ๋ฐ์ํ์ง ์๋๋ผ๋ ์ด๋ ๊ฒ ํ์ ์ ํ๊ธฐํ๋ ๊ฒ์ด ๋ ์ข๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ๋ ์ด๊ฒ ์๋ฐ๋ ๋ค๋ฅธ ๋ช ์์ ํ์ ์ธ์ด์ ๋ค๋ฅด๊ฒ ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ฐ์ ๋ ํ์ดํ ์ธ์ด๋ง์ ์ฅ์ ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
๋จผ์ ๋ง์ ๋๋ฆฐ ๊ทผ ์์ผ ๋ด์ ๋ณ๋์ ๋ณ๊ฒฝ์ ์์ํ๋ค๋ ๊ฒ์ ๋ณ๊ฒฝ์ด ํ์ํ๋ค๊ณ ์๊ตฌ๋๋ ๊ฒ์ ๋๋ ์์ ์ ์๋ฏธํ๋ ๊ฒ์ด์์ต๋๋ค. ์ฐฉ์ค๊ฐ ์๊ธธ ์ ์๊ฒ ์ ๋ฌํด๋๋ฆฐ์ ์ฃ์กํฉ๋๋ค. ๊ด๋ จ ์์ ์ด ํ์ํ ๋ ์งํํ์์ ๋์ผํ ๋งฅ๋ฝ์์ ๋๋ฆฐ ๋ง์์ ๋๋ค !
๋๋ถ์ด ์ ์ํด์ฃผ์ TakenLectureInfo๋ ํด๋ผ์ด์ธํธ์์ ์ํ๋ฅผ ๊ด๋ฆฌํ๊ณ ์๊ธฐ ๋๋ฌธ์, ์ด ์ ์ด ์๋ต๊ณผ ๋ค๋ฅด๋ค๋ ์ฐจ์์์ ์๊ฐํ๋ฉด ์๋ฒ ์ธก ์๋ต๊ณผ ์์ ํ ๋์ผํ์ง์๋ค์. ๊ด๋ จ ์๊ฒฌ์ ๋์ํฉ๋๋ค. ๊ธด ๊ธ ์์ฑํด์ ์๊ฒฌ ๋จ๊ฒจ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
๐ ์์ ๋ด์ฉ
๐ค ๊ณ ๋ฏผ ํ๋ ๋ถ๋ถ
๐ ๋์์ด ํ์ํ ๋ถ๋ถ