2. 독립 실행 결과

1) 테스트1 - memberId로 프로필 조회 시 프로필 정보를 반환한다.

    @DisplayName("memberId로 프로필 조회 성공시 프로필 정보를 반환한다.")
    @Test
    void getProfileByMemberId() {
        // given
        UniversityJpaEntity universityJpaEntity = UniversityJpaEntity.builder()
                .universityName("universityName")
                .build();
        
        DepartmentJpaEntity departmentJpaEntity = DepartmentJpaEntity.builder()
                .departmentName("departmentName")
                .universityId(1L)
                .build();
                
        MemberJpaEntity memberJpaEntity = MemberJpaEntity.builder()
                .universityId(1L)
                .departmentId(1L)
                .build();

	      universityRepository.save(universityJpaEntity);
        departmentRepository.save(departmentJpaEntity);
        memberRepository.save(memberJpaEntity);
        long memberId = memberJpaEntity.getId();
   
        // when
        MemberProfileResponse memberProfileResponse = memberFinder.getMemberProfile(memberId);

        // then
        assertThat(memberProfileResponse.universityName()).isEqualTo("universityName");
        assertThat(memberProfileResponse.departmentName()).isEqualTo("departmentName");
    }

개별적으로 테스트를 실행할 경우 다음과 같이 저장됩니다.

[1] university 테이블

id university_name
1 universityName

[2] department 테이블

id university_id department_name
1 1 departmentName
id university_id department_name
1 1 departmentName

[3] member 테이블

id university_id department_id
1 1 1

getMemberProfile 메서드는 내부적으로 다음 QueryDSL문을 실행합니다.