Skip to content

Commit

Permalink
Feature #37-storeManager에 store정보 추가 #38 추가작업 (#45)
Browse files Browse the repository at this point in the history
* #37-storeManager가 관리하는 store 연결 (1:1)
- response에서 password 삭제

* #37-storemanager request에 storeId 추가
  • Loading branch information
chanwooo committed Nov 22, 2022
1 parent 300c2cd commit 1dcc2cd
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 4 deletions.
10 changes: 10 additions & 0 deletions src/main/java/flab/quing/user/UserServiceImpl.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
package flab.quing.user;

import flab.quing.store.Store;
import flab.quing.store.StoreRepository;
import flab.quing.store.exception.NoSuchStoreException;
import flab.quing.user.dto.StoreManagerRequest;
import flab.quing.user.dto.StoreManagerResponse;
import flab.quing.user.dto.UserRequest;
Expand All @@ -17,6 +20,8 @@ public class UserServiceImpl implements UserService {

private final StoreManagerRepository storeManagerRepository;

private final StoreRepository storeRepository;

@Transactional
@Override
public UserResponse signUp(UserRequest userRequest) {
Expand All @@ -38,11 +43,16 @@ public UserResponse signIn(String name, String phoneNumber) {
@Override
public StoreManagerResponse storeSignUp(StoreManagerRequest storeManagerRequest) {
checkStoreManagerDuplication(storeManagerRequest.getLoginId());

Store store = storeRepository.findById(storeManagerRequest.getStoreId())
.orElseThrow(NoSuchStoreException::new);

StoreManager storeManager = StoreManager.builder()
.loginId(storeManagerRequest.getLoginId())
.encryptedPassword(storeManagerRequest.getPassword())
.name(storeManagerRequest.getName())
.phoneNumber(storeManagerRequest.getPhoneNumber())
.store(store)
.build();
StoreManager createdStoreManager = storeManagerRepository.save(storeManager);
return createdStoreManager.toResponse();
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/flab/quing/user/dto/StoreManagerRequest.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,6 @@ public class StoreManagerRequest {

private String phoneNumber;

private long storeId;

}
23 changes: 19 additions & 4 deletions src/test/java/flab/quing/user/UserServiceImplTest.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
package flab.quing.user;

import flab.quing.DummyDataMaker;
import flab.quing.store.Store;
import flab.quing.store.StoreRepository;
import flab.quing.user.dto.StoreManagerRequest;
import flab.quing.user.dto.StoreManagerResponse;
import flab.quing.user.dto.UserRequest;
Expand All @@ -11,8 +14,11 @@
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;

import java.util.Optional;

import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyLong;
import static org.mockito.Mockito.when;

@ExtendWith(MockitoExtension.class)
Expand All @@ -24,6 +30,9 @@ class UserServiceImplTest {
@Mock
UserRepository userRepository;

@Mock
StoreRepository storeRepository;

@Mock
StoreManagerRepository storeManagerRepository;

Expand Down Expand Up @@ -55,20 +64,26 @@ void signUp_User_Success() {
@DisplayName("StoreManager 회원가입 성공")
void signUp_StoreManager_Success() {
//given
Store store = DummyDataMaker.store();

StoreManager storeManager = StoreManager.builder()
.loginId("yuseon")
.encryptedPassword("12345")
.name("홍길동")
.phoneNumber("010-1234-5678")
.store(store)
.build();
storeManager.setId(1L);

StoreManagerRequest storeManagerRequest = StoreManagerRequest.builder()
.loginId("yuseon")
.password("12345")
.name("홍길동")
.phoneNumber("010-1234-5678")
.loginId(storeManager.getLoginId())
.password(storeManager.getEncryptedPassword())
.name(storeManager.getName())
.phoneNumber(storeManager.getPhoneNumber())
.storeId(1L)
.build();

when(storeRepository.findById(anyLong())).thenReturn(Optional.of(store));
when(storeManagerRepository.save(any(StoreManager.class))).thenReturn(storeManager);

//when
Expand Down

0 comments on commit 1dcc2cd

Please sign in to comment.