use of wooteco.prolog.session.domain.Mission in project prolog by woowacourse.
the class StudylogTagRepositoryTest method createStudylogTag.
@DisplayName("StudylogTag 생성")
@Test
void createStudylogTag() {
// given
Member member = memberRepository.save(웨지);
Session session = sessionRepository.save(new Session("세션1"));
Mission mission = missionRepository.save(new Mission("미션", session));
Tag tag = tagRepository.save(new Tag("태그"));
Studylog studylog = studylogRepository.save(new Studylog(member, "제목", "내용", mission, Lists.emptyList()));
// when
StudylogTag studylogTag = new StudylogTag(studylog, tag);
StudylogTag savedStudylogTag = studylogTagRepository.save(studylogTag);
// then
assertThat(savedStudylogTag.getId()).isNotNull();
assertThat(savedStudylogTag).usingRecursiveComparison().ignoringFields("id", "createdAt", "updatedAt").isEqualTo(studylogTag);
}
use of wooteco.prolog.session.domain.Mission in project prolog by woowacourse.
the class StudylogTagRepositoryTest method findByTagIn.
@DisplayName("Tag 리스트와 매칭되는 StudylogTag 리스트 조회")
@Test
void findByTagIn() {
// given
Member member = memberRepository.save(웨지);
Session session = sessionRepository.save(new Session("세션1"));
Mission mission = missionRepository.save(new Mission("미션", session));
Studylog studylog1 = studylogRepository.save(new Studylog(member, "제목1", "내용1", mission, Lists.emptyList()));
Studylog studylog2 = studylogRepository.save(new Studylog(member, "제목2", "내용2", mission, Lists.emptyList()));
Tag tag1 = tagRepository.save(new Tag("태그1"));
Tag tag2 = tagRepository.save(new Tag("태그2"));
StudylogTag studylogTag1 = studylogTagRepository.save(new StudylogTag(studylog1, tag1));
StudylogTag studylogTag2 = studylogTagRepository.save(new StudylogTag(studylog1, tag2));
StudylogTag studylogTag3 = studylogTagRepository.save(new StudylogTag(studylog2, tag2));
// when
List<StudylogTag> studylogTags = studylogTagRepository.findByTagIn(Arrays.asList(tag1, tag2));
// then
assertThat(studylogTags).usingFieldByFieldElementComparator().containsExactlyInAnyOrder(studylogTag1, studylogTag2, studylogTag3);
}
use of wooteco.prolog.session.domain.Mission in project prolog by woowacourse.
the class MissionServiceTest method findByIdsTest.
@DisplayName("ID 리스트를 통해서 Mission 리스트를 조회한다.")
@Test
void findByIdsTest() {
// given
MissionResponse mission1 = missionService.create(new MissionRequest("세션1 - 자동차 경주 미션", session1.getId()));
MissionResponse mission2 = missionService.create(new MissionRequest("세션2 - 로또 미션", session2.getId()));
MissionResponse mission3 = missionService.create(new MissionRequest("세션3 - 블랙잭 미션", session3.getId()));
List<Long> missionIds = Arrays.asList(mission1.getId(), mission2.getId(), mission3.getId());
// when
List<Mission> missions = missionService.findByIds(missionIds);
// then
assertThat(missions.size()).isEqualTo(3);
}
use of wooteco.prolog.session.domain.Mission in project prolog by woowacourse.
the class MissionRepositoryTest method createMission.
@DisplayName("Mission 생성")
@Test
void createMission() {
// given
Mission mission = new Mission("[BE] 자동차 미션", session);
// when
Mission savedMission = missionRepository.save(mission);
// then
assertThat(savedMission.getId()).isNotNull();
assertThat(savedMission).usingRecursiveComparison().ignoringFields("id", "createdAt", "updatedAt").isEqualTo(mission);
}
use of wooteco.prolog.session.domain.Mission in project prolog by woowacourse.
the class PopularStudylogServiceTest method setUp.
@BeforeEach
void setUp() {
SessionResponse sessionResponse1 = sessionService.create(new SessionRequest("세션1"));
SessionResponse sessionResponse2 = sessionService.create(new SessionRequest("세션2"));
this.session1 = new Session(sessionResponse1.getId(), sessionResponse1.getName());
this.session2 = new Session(sessionResponse2.getId(), sessionResponse2.getName());
MissionResponse missionResponse1 = missionService.create(new MissionRequest("자동차 미션", session1.getId()));
MissionResponse missionResponse2 = missionService.create(new MissionRequest("수동차 미션", session2.getId()));
this.mission1 = new Mission(missionResponse1.getId(), missionResponse1.getName(), session1);
this.mission2 = new Mission(missionResponse2.getId(), missionResponse2.getName(), session1);
this.member1 = memberService.findOrCreateMember(new GithubProfileResponse("이름1", "별명1", "1", "image"));
this.member2 = memberService.findOrCreateMember(new GithubProfileResponse("이름2", "별명2", "2", "image"));
this.loginMember1 = new LoginMember(member1.getId(), Authority.MEMBER);
this.loginMember2 = new LoginMember(member2.getId(), Authority.MEMBER);
this.loginMember3 = new LoginMember(null, Authority.ANONYMOUS);
this.studylog1 = new Studylog(member1, STUDYLOG1_TITLE, "피케이와 포모의 스터디로그", mission1, asList(tag1, tag2));
this.studylog2 = new Studylog(member1, STUDYLOG2_TITLE, "피케이와 포모의 스터디로그 2", mission1, asList(tag2, tag3));
this.studylog3 = new Studylog(member2, STUDYLOG3_TITLE, "피케이 스터디로그", mission2, asList(tag3, tag4, tag5));
this.studylog4 = new Studylog(member2, STUDYLOG4_TITLE, "포모의 스터디로그", mission2, emptyList());
}
Aggregations