Skip to content

Commit 591df0d

Browse files
committed
refactor(crewMember): 삭제 쿼리 변경
- Hard delete로 수정
1 parent ccbf58b commit 591df0d

File tree

3 files changed

+9
-26
lines changed

3 files changed

+9
-26
lines changed

src/main/java/com/prgrms/mukvengers/domain/crewmember/repository/CrewMemberRepository.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import java.util.Optional;
55

66
import org.springframework.data.jpa.repository.JpaRepository;
7+
import org.springframework.data.jpa.repository.Modifying;
78
import org.springframework.data.jpa.repository.Query;
89
import org.springframework.data.repository.query.Param;
910

@@ -36,6 +37,8 @@ SELECT COUNT(cm)
3637
""")
3738
List<CrewMember> findAllByCrewId(@Param(value = "crewId") Long crewId);
3839

39-
void deleteByUserIdAndCrewId(@Param(value = "userId") Long userId, @Param(value = "crewId") Long crewId);
40+
@Modifying
41+
@Query(value = "DELETE FROM crew_member cm WHERE user_id = :userId AND crew_id = :crewId", nativeQuery = true)
42+
int deleteByUserIdAndCrewId(@Param(value = "userId") Long userId, @Param(value = "crewId") Long crewId);
4043

4144
}

src/test/java/com/prgrms/mukvengers/domain/crewmember/repository/CrewMemberRepositoryTest.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,11 +94,10 @@ void deleteByUserId_success() {
9494
crewMemberRepository.save(crewMember);
9595

9696
//when
97-
crewMemberRepository.deleteByUserIdAndCrewId(savedUser1Id, crew.getId());
97+
int delete = crewMemberRepository.deleteByUserIdAndCrewId(savedUser1Id, crew.getId());
9898

9999
//then
100-
Optional<CrewMember> optionalCrewMember = crewMemberRepository.findById(crewMember.getId());
101-
assertThat(optionalCrewMember).isEmpty();
100+
assertThat(delete).isEqualTo(1);
102101

103102
}
104103
}

src/test/java/com/prgrms/mukvengers/domain/crewmember/service/CrewMemberServiceImplTest.java

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import com.prgrms.mukvengers.domain.crewmember.model.CrewMember;
1919
import com.prgrms.mukvengers.domain.crewmember.repository.CrewMemberRepository;
2020
import com.prgrms.mukvengers.global.common.dto.IdResponse;
21-
import com.prgrms.mukvengers.utils.CrewMemberObjectProvider;
2221

2322
class CrewMemberServiceImplTest extends ServiceTest {
2423

@@ -51,7 +50,7 @@ void create_success() {
5150
.hasFieldOrPropertyWithValue("crew", crew)
5251
.hasFieldOrPropertyWithValue("crewMemberRole", LEADER);
5352
}
54-
53+
5554
@Test
5655
@DisplayName("[성공] 사용자 아이디, 강퇴할 사용자 아이디, 모임 아이디로 사용자를 강퇴한다.")
5756
void block_success() {
@@ -60,7 +59,7 @@ void block_success() {
6059
Crew crew = createCrew(savedStore);
6160
crewRepository.save(crew);
6261

63-
CrewMember leader = createCrewMember(savedUser1Id, crew, LEADER);
62+
CrewMember leader = createCrewMember(savedUser1Id, crew, LEADER);
6463
CrewMember member = createCrewMember(savedUser2Id, crew, MEMBER);
6564

6665
crewMemberRepository.save(leader);
@@ -109,24 +108,6 @@ void block_fail_NotMember() {
109108
assertThatThrownBy(
110109
() -> crewMemberService.block(leader.getUserId(), leader.getUserId(), crew.getId())).isInstanceOf(
111110
NotMemberException.class);
112-
}
113-
114-
@Test
115-
@DisplayName("[성공] 모임원 아이디로 모임원을 삭제한다")
116-
void delete_success() {
117-
118-
//given
119-
Crew crew = createCrew(savedStore);
120-
crewRepository.save(crew);
121-
122-
CrewMember crewMember = CrewMemberObjectProvider.createCrewMember(savedUser1Id, crew, MEMBER);
123-
crewMemberRepository.save(crewMember);
124-
125-
//when
126-
crewMemberService.delete(crewMember.getUserId(), crew.getId());
127-
128-
//then
129-
Optional<CrewMember> optionalCrewMember = crewMemberRepository.findById(crewMember.getId());
130-
assertThat(optionalCrewMember).isEmpty();
131111
}
112+
132113
}

0 commit comments

Comments
 (0)