diff --git a/content/faq/lists.mdx b/content/faq/lists.mdx index eba7de2c..14a87ca2 100644 --- a/content/faq/lists.mdx +++ b/content/faq/lists.mdx @@ -57,20 +57,15 @@ lists: - course: masters category: 지원 및 선발 title: 선발 과정은 어떻게 되나요? - content: "지원자의 프로그래밍 경험과 실력 그리고 학습 태도를 확인하기 위해 아래 두 단계의 선발 과정이 있습니다.\n -1) 제시된 문제를 해결하여 제출\n -2) 온라인 또는 오프라인 면담" - editDate: "2022-06-14" + content: "마스터즈 코스와 마스터즈 max의 선발 방식은 동일하며, 프로그래밍 능력을 확인하기 위한 코딩테스트를 진행합니다." + editDate: "2022-10-26" - course: masters category: 지원 및 선발 - title: 각 선발 과정에서 합격 기준은 어떻게 되나요? - content: "1) 제시된 문제를 해결하여 제출\n -기본적인 프로그래밍이 가능하신 분인지 확인하고 있습니다. 어떤 언어든지 배열에서 값을 읽고, 원하는 조건으로 비교하는 함수를 작성할 수 있는 수준이 최소 수준입니다.\n\n -2) 온라인 또는 오프라인 면담\n -마스터즈 기간동안 다양한 동료들을 만나게 됩니다. 동료들과 서로 '협력'하여, '스스로', '포기하지 않고', '도전적'으로 학습하실 수 있는 분인지 여러 방면에서 확인하고 있습니다.\n -단순히 시험 성적순으로 합격 여부를 결정하지 않습니다." - editDate: "2022-06-14" + title: 선발 과정에서 합격 기준은 어떻게 되나요? + content: "기본적인 프로그래밍이 가능하신 분인지 확인하고 있습니다. 어떤 언어든지 배열에서 값을 읽고, 원하는 조건으로 비교하는 함수를 작성할 수 있는 수준이 최소 수준입니다.\n\n + 더불어 동료들과 서로 '협력'하여, '스스로', '포기하지 않고', '도전적'으로 학습하실 수 있는 분인지 여러 방면에서 확인하고 있습니다." + editDate: "2022-10-26" - course: masters category: 지원 및 선발 @@ -215,6 +210,12 @@ lists: 더불어 꼭 마스터즈를 준비하시는 분들이 아니더라도 프로그래밍 기초를 단단하게 다지고 싶으신 분들이라면 도움이 될 수 있습니다." editDate: "2022-09-15" + - course: pre-course + category: 교육 과정 + title: 프리코스는 1년에 몇 번 진행하나요? + content: "1년에 한 번 진행하고 있습니다. 프리코스는 마스터즈를 준비하는 과정으로, 매년 마스터즈 선발 전 1개월 동안 진행합니다." + editDate: "2022-10-26" + - course: pre-course category: 수강 신청 title: 프리코스는 누구나 신청할 수 있나요? diff --git a/content/masters/schedule.mdx b/content/masters/schedule.mdx index 1415dccb..060a891f 100644 --- a/content/masters/schedule.mdx +++ b/content/masters/schedule.mdx @@ -21,16 +21,16 @@ progress: - label: 클래스별 과정 title: 클래스별 과정 tags: - - 마스터즈 코스(5주) - - 마스터즈 max(10주) + - 마스터즈 코스(7주) + - 마스터즈 max(14주) subtitle: 이제 멤버들은 각 클래스로 나뉘어, 분야별로 심화된 주제를 학습합니다. description: "여러 개의 미니 프로젝트를 통해 모바일 앱이나 웹 서비스를 만들면서, 분야별로 필요한 지식을 학습합니다. 또한 주 1~2회 밀도있는 마스터 클래스를 통해 핵심 지식을 빠르게 습득합니다.\n\n 이 과정에서 학습하는 클래스별 핵심 지식은 이어지는 그룹 프로젝트를 통해 단단하고 깊이 있는 나만의 지식으로 매듭짓게 됩니다." - label: 그룹 프로젝트 title: 그룹 프로젝트 tags: - - 마스터즈 코스(12주) - - 마스터즈 max(24주) + - 마스터즈 코스(9주) + - 마스터즈 max(18주) subtitle: 다른 클래스 멤버들과 함께, 실전과 같은 프로젝트를 진행합니다. description: "기획과 디자인이 포함된 프로젝트를 통해, 난이도별 요구사항을 구현하며 실무 역량을 다양하게 경험할 수 있습니다. 매번 새로운 멤버들과 한 팀이 되어 스프린트 계획, 배포, 리뷰, 리팩토링, 테스팅 등의 공학적인 방법을 함께 실천합니다.\n\n 이 과정에서 멤버들은 같은 분야와 협업하고 다른 분야와 협력하며, 실제로 서비스 가능한 결과물을 만들어 냅니다." diff --git a/content/pre-course/curriculum_part1.mdx b/content/pre-course/curriculum_part1.mdx index 472378ee..2e12406f 100644 --- a/content/pre-course/curriculum_part1.mdx +++ b/content/pre-course/curriculum_part1.mdx @@ -26,10 +26,16 @@ subjectList: - 객체 지향 프로그래밍 - 동기와 비동기 -masterInfo: - avatar: mediumCrong - name: 크롱 - position: Crong, 웹 프론트엔드 마스터 - nutshell: "“4주간 웹 프론트엔드 기초를 탄탄히 다지시고, 함께 성장하는 학습방법도 경험하세요.”" - introduce: 바닐라JS를 좋아하고, UX 향상에 도움이 되는 개발 방법에 관심이 많아요. +masterInfoList: + - picture: masterjs + name: 마스터제이에스 + position: Masterjs, JavaScript 마스터 + nutshell: "“세상에서 가장 많이 사용하는 프로그래밍 언어 JS! 한번 배워볼까요?”" + introduce: 웹도 JS, 서버도 JS, 앱도 JS, 어디서든 JS로 여러분의 프로그램을 만들어보세요. + + - picture: crong + name: 크롱 + position: Crong, 웹 프론트엔드 마스터 + nutshell: "“4주간 웹 프론트엔드 기초를 탄탄히 다지시고, 함께 성장하는 학습방법도 경험하세요.”" + introduce: 바닐라JS를 좋아하고, UX 향상에 도움이 되는 개발 방법에 관심이 많아요. --- diff --git a/content/pre-course/curriculum_part2.mdx b/content/pre-course/curriculum_part2.mdx index 78a86378..6f195929 100644 --- a/content/pre-course/curriculum_part2.mdx +++ b/content/pre-course/curriculum_part2.mdx @@ -24,10 +24,16 @@ subjectList: - 비동기와 콜백 함수 - 테스트 코드 -masterInfo: - avatar: mediumHonux - name: 호눅스 - position: Honux, 웹 백엔드 마스터 - nutshell: "“동료와 함께 성장하면서 즐겁게 프로그래밍을 해 봅시다.”" - introduce: 자바, 스프링, 데이터베이스, HTTP, 클라우드도 배우지만 함께 배우고, 함께 자라는 법도 익힙니다. +masterInfoList: + - picture: silver + name: 실버 + position: Silver, Java 마스터 + nutshell: "“누구나 마스터가 되기 위해서는 '마늘과 쑥의 시간'이 필요하답니다. SILVER와 함께 자바의 마스터로 가기 위한 마늘과 쑥의 시간을 즐겨보세요.”" + introduce: 시간과 코드스쿼드는 당신 편입니다. 자~ 개발자의 길로 출발하시죠! + + - picture: honux + name: 호눅스 + position: Honux, 웹 백엔드 마스터 + nutshell: "“동료와 함께 성장하면서 즐겁게 프로그래밍을 해 봅시다.”" + introduce: 자바, 스프링, 데이터베이스, HTTP, 클라우드도 배우지만 함께 배우고, 함께 자라는 법도 익힙니다. --- diff --git a/content/pre-course/curriculum_part3.mdx b/content/pre-course/curriculum_part3.mdx index df16ac47..ab5ad286 100644 --- a/content/pre-course/curriculum_part3.mdx +++ b/content/pre-course/curriculum_part3.mdx @@ -27,10 +27,10 @@ subjectList: - iOS 뷰 - 함수형 프로그래밍과 타이머 -masterInfo: - avatar: mediumJk - name: JK - position: 제이케이, 모바일 iOS 마스터 - nutshell: "“스위프트로 프로그래밍 연습도 하고, 간단한 앱을 직접 만들어보세요!”" - introduce: 매력적인 애플 플랫폼에서 함께 성장할 개발자를 기다립니다. +masterInfoList: + - picture: jk + name: JK + position: 제이케이, 모바일 iOS 마스터 + nutshell: "“스위프트로 프로그래밍 연습도 하고, 간단한 앱을 직접 만들어보세요!”" + introduce: 매력적인 애플 플랫폼에서 함께 성장할 개발자를 기다립니다. --- diff --git a/src/@type/CodeTogetherCurriculum.ts b/src/@type/CodeTogetherCurriculum.ts index 13f35379..fedcba2a 100644 --- a/src/@type/CodeTogetherCurriculum.ts +++ b/src/@type/CodeTogetherCurriculum.ts @@ -1,4 +1,4 @@ -import { MasterInfoType } from "./Master"; +import { MasterPictureInfoType } from "./Master"; export interface CodeTogetherSubjectInfoType { details: string[]; @@ -8,5 +8,5 @@ export interface CodeTogetherSubjectInfoType { export interface CodeTogetherCurriculumType { tabName: string; subjectList: CodeTogetherSubjectInfoType[]; - masterInfo: MasterInfoType; + masterInfoList: MasterPictureInfoType[]; } diff --git a/src/@type/Master.ts b/src/@type/Master.ts index 2ee39a1c..4196146b 100644 --- a/src/@type/Master.ts +++ b/src/@type/Master.ts @@ -26,3 +26,11 @@ export interface MasterInfoType { introduce: string; nutshell: string; } + +export interface MasterPictureInfoType { + picture: keyof typeof picture; + name: string; + position: string; + introduce: string; + nutshell: string; +} diff --git a/src/assets/img/picture/index.ts b/src/assets/img/picture/index.ts index dc855640..a25395db 100644 --- a/src/assets/img/picture/index.ts +++ b/src/assets/img/picture/index.ts @@ -2,6 +2,8 @@ import jk from "./jk.png"; import crong from "./crong.png"; import honux from "./honux.png"; import ivy from "./ivy.png"; +import silver from "./silver.png"; +import masterjs from "./masterjs.png"; import place1 from "./place1.png"; import place2 from "./place2.png"; import place3 from "./place3.png"; @@ -16,6 +18,8 @@ export default { crong, honux, ivy, + silver, + masterjs, place1, place2, place3, diff --git a/src/assets/img/picture/masterjs.png b/src/assets/img/picture/masterjs.png new file mode 100644 index 00000000..96c46d84 Binary files /dev/null and b/src/assets/img/picture/masterjs.png differ diff --git a/src/assets/img/picture/silver.png b/src/assets/img/picture/silver.png new file mode 100644 index 00000000..efc7eebf Binary files /dev/null and b/src/assets/img/picture/silver.png differ diff --git a/src/pageComponents/pre-course/DetailCurriculum/Curriculum/Curriculum.tsx b/src/pageComponents/pre-course/DetailCurriculum/Curriculum/Curriculum.tsx index 8bad508c..93c88bfa 100644 --- a/src/pageComponents/pre-course/DetailCurriculum/Curriculum/Curriculum.tsx +++ b/src/pageComponents/pre-course/DetailCurriculum/Curriculum/Curriculum.tsx @@ -13,18 +13,16 @@ import { DESCRIPTION } from "assets/static/phrases"; const Curriculum: React.FC<{ curriculumInfo: CodeTogetherCurriculumType }> = ({ curriculumInfo, }) => { - const { subjectList, masterInfo } = curriculumInfo; - - const { name } = masterInfo; + const { subjectList, masterInfoList, tabName } = curriculumInfo; const descriptionLinkObj: { [key: string]: JSX.Element } = { - 크롱: ( + JavaScript: ( {DESCRIPTION.FRONT_CURRICULUM_LINK} {DESCRIPTION.SUITABLE_READY_CLASS} ), - 호눅스: ( + Java: ( {DESCRIPTION.BACK_CURRICULUM_LINK} {DESCRIPTION.OR} @@ -32,7 +30,7 @@ const Curriculum: React.FC<{ curriculumInfo: CodeTogetherCurriculumType }> = ({ {DESCRIPTION.SUITABLE_READY_CLASS} ), - JK: ( + Swift: ( {DESCRIPTION.IOS_CURRICULUM_LINK} {DESCRIPTION.SUITABLE_READY_CLASS} @@ -42,7 +40,7 @@ const Curriculum: React.FC<{ curriculumInfo: CodeTogetherCurriculumType }> = ({ return ( - {descriptionLinkObj[name]} + {descriptionLinkObj[tabName]} {subjectList.map(({ name, details }) => ( @@ -63,7 +61,9 @@ const Curriculum: React.FC<{ curriculumInfo: CodeTogetherCurriculumType }> = ({ ))} - + {masterInfoList.map((masterInfo) => ( + + ))} ); @@ -150,7 +150,7 @@ const SubjectDetailList = styled.ul` const DivideLine = styled.div` border-bottom: 0.1rem solid ${({ theme: { color } }) => color.greyScale.grey4}; width: 100%; - margin: 5.6rem 0; + margin: 4.6rem 0; @media ${({ theme }) => theme.device.mobile} { margin: 3.2rem 0; } diff --git a/src/pageComponents/pre-course/DetailCurriculum/Curriculum/MasterInfo/MasterInfo.test.tsx b/src/pageComponents/pre-course/DetailCurriculum/Curriculum/MasterInfo/MasterInfo.test.tsx index bf85d05e..16b03746 100644 --- a/src/pageComponents/pre-course/DetailCurriculum/Curriculum/MasterInfo/MasterInfo.test.tsx +++ b/src/pageComponents/pre-course/DetailCurriculum/Curriculum/MasterInfo/MasterInfo.test.tsx @@ -3,13 +3,13 @@ import { render } from "@testing-library/react"; // Testing-Component import { MasterInfo } from "."; // Assets -import avatars from "assets/img/avatars"; +import pictures from "assets/img/picture"; // lib import { TestProvider } from "lib/testUtils"; describe("", () => { const masterInfo = { - avatar: "mediumCrong" as keyof typeof avatars, + picture: "masterjs" as keyof typeof pictures, introduce: "매력적인 애플 플랫폼에서 함께 성장할 개발자를 기다립니다.", name: "JK", nutshell: "“나와 지인들에게 필요한 iOS 앱을 직접 만들고 출시까지 도전해보세요”", diff --git a/src/pageComponents/pre-course/DetailCurriculum/Curriculum/MasterInfo/MasterInfo.tsx b/src/pageComponents/pre-course/DetailCurriculum/Curriculum/MasterInfo/MasterInfo.tsx index 91e7a0c4..25582e4e 100644 --- a/src/pageComponents/pre-course/DetailCurriculum/Curriculum/MasterInfo/MasterInfo.tsx +++ b/src/pageComponents/pre-course/DetailCurriculum/Curriculum/MasterInfo/MasterInfo.tsx @@ -5,12 +5,12 @@ import { Typography } from "typography"; // Components import { Avatar } from "components"; // Assets -import avatars from "assets/img/avatars"; +import pictures from "assets/img/picture"; // Libs import { useResponsive } from "lib/hooks"; type mastersInfo = { - avatar: keyof typeof avatars; + picture: keyof typeof pictures; name: string; position: string; introduce: string; @@ -22,16 +22,16 @@ interface IMasterInfo { const MasterInfo: React.FC = ({ masterInfo }) => { const { isMobile } = useResponsive(); - const { name, position, nutshell, avatar, introduce } = masterInfo; + const { name, position, nutshell, picture, introduce } = masterInfo; return ( @@ -54,6 +54,7 @@ const MasterInfo: React.FC = ({ masterInfo }) => { const MasterInfoWrapper = styled.li` display: flex; + margin-top: 1rem; @media ${({ theme }) => theme.device.mobile} { flex-direction: column; } diff --git a/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.docs.mdx b/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.docs.mdx index 712abded..d76d5740 100644 --- a/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.docs.mdx +++ b/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.docs.mdx @@ -35,12 +35,12 @@ subjectList: - 객체 정의 및 접근 - 객체를 활요한 프로그래밍 기초 -masterInfo: - avatar: profileCrong - name: 크롱 - position: Crong, 웹 프론트엔드 마스터 - nutshell: "“코드스쿼드만의 협력, 배려, 즐거움을 느끼면서 프로그래밍을 시작해 보세요”" - introduce: 프로그래밍을 시작할 때는 스스로 학습하는 방법을 깨닫고, 동료들과 함께 학습하면서 성장하는 것이 좋습니다. ‘코드투게더'는 그렇게 함께 배우는 목적으로 만들었습니다. 또한 무엇을 해야할지 어렵지 않도록 가장 필요한 내용만을 담아 커리큘럼을 구성했습니다. +masterInfoList: + - picture: profileCrong + name: 크롱 + position: Crong, 웹 프론트엔드 마스터 + nutshell: "“코드스쿼드만의 협력, 배려, 즐거움을 느끼면서 프로그래밍을 시작해 보세요”" + introduce: 프로그래밍을 시작할 때는 스스로 학습하는 방법을 깨닫고, 동료들과 함께 학습하면서 성장하는 것이 좋습니다. ‘코드투게더'는 그렇게 함께 배우는 목적으로 만들었습니다. 또한 무엇을 해야할지 어렵지 않도록 가장 필요한 내용만을 담아 커리큘럼을 구성했습니다. --- ``` @@ -55,8 +55,8 @@ masterInfo: --- -- masterInfo: 마스터의 정보를 입력하는 곳 입니다. - - avatar: 마스터의 이미지로 보여질 파일의 이름을 입력할 수 있습니다. +- masterInfoList: 마스터의 정보를 입력하는 곳 입니다. 리스트로써 여러명의 마스터를 등록할 수 있습니다. + - picture: 마스터의 이미지로 보여질 파일의 이름을 입력할 수 있습니다. - name: 마스터의 이미지 바로 옆에 보여질 큰 문구를 입력할 수 있습니다. - position: 이름 옆에 적혀질 옅은 회색의 문구를 입력할 수 있습니다. - nutshell: 마스터의 이름 바로 밑에 적혀질 문구를 적을 수 있습니다. 따옴표를 사용하고 싶다면 "“~따옴표를 써보세요”" 와같이 입력하면 됩니다. diff --git a/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.test.mock.ts b/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.test.mock.ts index 0a377b56..bd0aee65 100644 --- a/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.test.mock.ts +++ b/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.test.mock.ts @@ -4,72 +4,135 @@ export const DetailCurriculumQueryResult = { { node: { frontmatter: { - tabName: "파트 1", + tabName: "JavaScript", index: 1, subjectList: [ { - details: [ - "vscode 기반 개발환경", - "정수/실수를 활용한 연산", - "변수를 활용한 복잡한 계산", - ], - name: "개발 환경, 기본 연산과 조건문", + details: ["개발 환경", "학습방법", "JavaScript 기본 문법"], + name: "Week #1", }, { - details: ["함수 선언과 호출", "연속된 함수 호출과 스택", "변수의 유효범위"], - name: "함수", + details: ["해시", "디버깅", "스택과 큐"], + name: "Week #2", }, { - details: ["문자열 기본과 반복문", "배열 순회, 선언, 변경", "고차함수"], - name: "반복문과 배열", + details: ["비동기", "정렬 알고리즘", "HTML과 CSS"], + name: "Week #3", }, { - details: ["객체 정의 및 접근", "객체를 활용한 프로그래밍 기초"], - name: "객체", + details: ["객체 지향 프로그래밍", "동기와 비동기"], + name: "Week #4", + }, + ], + masterInfoList: [ + { + picture: "crong", + introduce: "바닐라JS를 좋아하고, UX 향상에 도움이 되는 개발 방법에 관심이 많아요.", + name: "크롱", + nutshell: + "“4주간 웹 프론트엔드 기초를 탄탄히 다지시고, 함께 성장하는 학습방법도 경험하세요.”", + position: "Crong, 웹 프론트엔드 마스터", + }, + { + picture: "namse", + introduce: "바닐라JS를 좋아하고, UX 향상에 도움이 되는 개발 방법에 관심이 많아요.", + name: "남세", + nutshell: + "“4주간 웹 프론트엔드 기초를 탄탄히 다지시고, 함께 성장하는 학습방법도 경험하세요.”", + position: "Crong, 웹 프론트엔드 마스터", }, ], - masterInfo: { - avatar: "crong", - name: "크롱", - position: "Crong, 웹 프론트엔드 마스터", - nutshell: "“코드스쿼드만의 협력, 배려, 즐거움을 느끼면서 프로그래밍을 시작해 보세요”", - introduce: - "프로그래밍을 시작할 때는 스스로 학습하는 방법을 깨닫고, 동료들과 함께 학습하면서 성장하는 것이 좋습니다. ‘코드투게더'는 그렇게 함께 배우는 목적으로 만들었습니다. 또한 무엇을 해야할지 어렵지 않도록 가장 필요한 내용만을 담아 커리큘럼을 구성했습니다.", - }, }, }, }, { node: { frontmatter: { - tabName: "파트 2", + tabName: "Java", index: 2, subjectList: [ { - details: ["웹UI 동작 방식", "HTML을 활용한 구조 개발", "CSS를 활용한 스타일 개발"], - name: "브라우저 웹 개발", + details: ["개발 환경", "Java 기본 문법", "조건문, 반복문, 디버깅"], + name: "Week #1", + }, + { + details: ["GitHub 저장소 다루기", "함수와 객체 지향 프로그래밍 1"], + name: "Week #2", }, { - details: ["재귀적인 사고를 통한 문제 해결", "무한배열 분석"], - name: "재귀", + details: ["Java 컬렉션 프레임워크", "객체 지향 프로그래밍 2"], + name: "Week #3", }, { - details: ["비동기와 동기의 차이", "비동기 제어"], - name: "비동기 프로그래밍", + details: ["비동기와 콜백 함수", "테스트 코드"], + name: "Week #4", + }, + ], + masterInfoList: [ + { + picture: "honux", + introduce: + "자바, 스프링, 데이터베이스, HTTP, 클라우드도 배우지만 함께 배우고, 함께 자라는 법도 익힙니다.", + name: "호눅스", + nutshell: "“동료와 함께 성장하면서 즐겁게 프로그래밍을 해 봅시다.”", + position: "Honux, 웹 백엔드 마스터", + }, + { + picture: "silver", + introduce: "바닐라JS를 좋아하고, UX 향상에 도움이 되는 개발 방법에 관심이 많아요.", + name: "실버", + nutshell: + "“4주간 웹 프론트엔드 기초를 탄탄히 다지시고, 함께 성장하는 학습방법도 경험하세요.”", + position: "Crong, 웹 프론트엔드 마스터", + }, + ], + }, + }, + }, + { + node: { + frontmatter: { + tabName: "Swift", + index: 3, + subjectList: [ + { + details: ["Swift 개발 환경", "데이터 타입과 데이터 구조", "흐름 제어와 디버깅"], + name: "Week #1", + }, + { + details: ["GitHub 저장소 다루기", "Swift와 파운데이션", "스토리보드와 입력, 출력"], + name: "Week #2", + }, + { + details: [ + "객체 지향 프로그래밍 기초", + "데이터 구조: 리스트와 큐", + "알고리즘: 탐색과 정렬", + ], + name: "Week #3", + }, + { + details: ["데이터 구조: 스택", "iOS 뷰", "함수형 프로그래밍과 타이머"], + name: "Week #4", + }, + ], + masterInfoList: [ + { + picture: "jk", + introduce: "매력적인 애플 플랫폼에서 함께 성장할 개발자를 기다립니다.", + name: "JK", + nutshell: "“스위프트로 프로그래밍 연습도 하고, 간단한 앱을 직접 만들어보세요!”", + position: "제이케이, 모바일 iOS 마스터", }, { - details: ["자바스크립트 객체와 UI 개발, 웹 애플리케이션 로직 개발"], - name: "웹 애플리케이션 개발", + picture: "silver", + introduce: "바닐라JS를 좋아하고, UX 향상에 도움이 되는 개발 방법에 관심이 많아요.", + name: "실버", + nutshell: + "“4주간 웹 프론트엔드 기초를 탄탄히 다지시고, 함께 성장하는 학습방법도 경험하세요.”", + position: "Crong, 웹 프론트엔드 마스터", }, ], - masterInfo: { - avatar: "crong", - name: "크롱", - position: "Crong, 웹 프론트엔드 마스터", - nutshell: "“코드스쿼드만의 협력, 배려, 즐거움을 느끼면서 프로그래밍을 시작해 보세요”", - introduce: - "프로그래밍을 시작할 때는 스스로 학습하는 방법을 깨닫고, 동료들과 함께 학습하면서 성장하는 것이 좋습니다. ‘코드투게더'는 그렇게 함께 배우는 목적으로 만들었습니다. 또한 무엇을 해야할지 어렵지 않도록 가장 필요한 내용만을 담아 커리큘럼을 구성했습니다.", - }, }, }, }, diff --git a/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.test.tsx b/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.test.tsx index fadc0fc1..a209cb46 100644 --- a/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.test.tsx +++ b/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.test.tsx @@ -27,7 +27,7 @@ describe("", () => { DetailCurriculumQueryResult ); const titles = curriculumInfo.map(({ tabName }) => tabName); - const masters = curriculumInfo.map(({ masterInfo }) => masterInfo); + const masters = curriculumInfo.map(({ masterInfoList }) => masterInfoList); const subjectList = curriculumInfo.map(({ subjectList }) => subjectList); it("각 탭들이 보여진다.", async () => { const { getByText } = renderDetailCurriculum(); @@ -43,7 +43,7 @@ describe("", () => { const tabTitle = getByText(title); fireEvent.click(tabTitle); - subjectList[i].forEach(({ name, details }: CodeTogetherSubjectInfoType) => { + subjectList[i].forEach(({ name }: CodeTogetherSubjectInfoType) => { getByText(name); }); }); @@ -55,12 +55,23 @@ describe("", () => { const tabTitle = getByText(title); fireEvent.click(tabTitle); - const { name, position, introduce, nutshell } = masters[i]; + const { name } = masters[i][0]; getByText(name); - getByText(position); - getByText(introduce); - getByText(nutshell); + }); + }); + it("여러명의 마스터가 있다면 여러명의 정보가 보여진다.", async () => { + const { getByText } = renderDetailCurriculum(); + + titles.forEach((title, i) => { + const tabTitle = getByText(title); + fireEvent.click(tabTitle); + + const { name } = masters[i][0]; + const { name: name2 } = masters[i][1]; + + getByText(name); + getByText(name2); }); }); }); diff --git a/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.tsx b/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.tsx index aa4b9fa6..689ad685 100644 --- a/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.tsx +++ b/src/pageComponents/pre-course/DetailCurriculum/DetailCurriculum.tsx @@ -118,8 +118,8 @@ const PreCourseCurriculumQuery = graphql` details name } - masterInfo { - avatar + masterInfoList { + picture introduce name nutshell