Skip to content

Commit

Permalink
Merge 31 (#50)
Browse files Browse the repository at this point in the history
* #21-변수명 변경 phone -> phoneNumber

* #21-타입변경 Integer -> int

* #21-안쓰는 파일 삭제

* #21-사용하지않는 필드 제거

* #21-QuingService 일부 구현
append
getList
countForward
doneWaiting

* #21-QuingService test 일부 구현

* #21-주석 삭제

* #21-append 중복 방지 로직 추가

* #21-waiting cancel 구현

* #21-exception 패키지 이동

* #21-test코드 작성

* #21-cancel 리턴 타입 변경

* #22-message 전송 관련 부분 print로 임시 구현

* #22-message 전송 관련 부분 test 작성

* #22-test에 불필요한 공백 제거

* #22- test코드 logger 적용

* #22- test코드 given, when, then 분리

* #22- test코드 logger 적용

* #31-MessageSender 분리
- MessageSender interface 작성
- ConsoleLogMessageSender 작성
- ConsoleLogMessageSenderTest 작성
- 기존 코드 변경

* #31-ConsoleLogMessageSender 리뷰 반영
- @component -> @service
- test에서 before each대신 직접 객체생성

* getbyuserid 추가
  • Loading branch information
chanwooo committed Nov 22, 2022
1 parent 63e9922 commit 0fa50b2
Show file tree
Hide file tree
Showing 5 changed files with 57 additions and 5 deletions.
18 changes: 18 additions & 0 deletions src/main/java/flab/quing/waiting/ConsoleLogMessageSender.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package flab.quing.waiting;

import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;

@Slf4j
@Component
@Service
public class ConsoleLogMessageSender implements MessageSender {

@Override
public boolean send(String phoneNumber, String message) {
log.info("phoneNumber = " + phoneNumber);
log.info("message = " + message);
return true;
}
}
7 changes: 7 additions & 0 deletions src/main/java/flab/quing/waiting/MessageSender.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package flab.quing.waiting;

public interface MessageSender {

boolean send(String phoneNumber, String message);

}
9 changes: 5 additions & 4 deletions src/main/java/flab/quing/waiting/QuingServiceImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.text.MessageFormat;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
Expand All @@ -27,6 +28,7 @@ public class QuingServiceImpl implements QuingService {
private final WaitingRepository waitingRepository;
private final UserRepository userRepository;
private final StoreRepository storeRepository;
private final MessageSender messageSender;

@Override
@Transactional
Expand All @@ -44,7 +46,7 @@ public WaitingResponse append(WaitingRequest waitingRequest) {
Waiting waiting = Waiting.of(user, store);

Optional<Waiting> exist = waitingRepository.findByUserIdAndWaitingQueueStatusIs(user.getId(), WaitingQueueStatus.WAITING);
if(exist.isPresent()) {
if (exist.isPresent()) {
throw new DuplicateWaitingException();
}
Waiting save = waitingRepository.save(waiting);
Expand All @@ -69,11 +71,10 @@ public int countForward(long waitingId) {

@Override
public void sendMessage(long waitingId, String message) {
//ncloud sms
Waiting waiting = waitingRepository.findById(waitingId).orElseThrow(NoSuchWaitingException::new);
User user = waiting.getUser();
System.out.println("phoneNumber = " + user.getPhoneNumber());
System.out.println("message = " + user.getName()+"님 "+message);
messageSender.send(user.getPhoneNumber(),
MessageFormat.format("{0} 님 {1}", user.getName(), message));
}

@Override
Expand Down
20 changes: 20 additions & 0 deletions src/test/java/flab/quing/waiting/ConsoleLogMessageSenderTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package flab.quing.waiting;

import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.boot.test.system.CapturedOutput;
import org.springframework.boot.test.system.OutputCaptureExtension;

@ExtendWith(OutputCaptureExtension.class)
class ConsoleLogMessageSenderTest {

private final MessageSender messageSender = new ConsoleLogMessageSender();

@Test
void send(CapturedOutput output) {
messageSender.send("010-0000-0000", "hi test");

Assertions.assertThat(output).contains("test");
}
}
8 changes: 7 additions & 1 deletion src/test/java/flab/quing/waiting/QuingServiceImplTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,9 @@ class QuingServiceImplTest {
@Mock
WaitingRepository waitingRepository;

@Mock
ConsoleLogMessageSender messageSender;

@BeforeEach
void beforeEach() {
DummyDataMaker.init();
Expand Down Expand Up @@ -74,7 +77,7 @@ void append() {
}

@Test
void appendExistThrowDuplicateException() {
void append_exist_throw_exception() {
//given
User user = DummyDataMaker.user();
Store store = DummyDataMaker.store();
Expand Down Expand Up @@ -147,6 +150,7 @@ void sendMessage(CapturedOutput output) {
Waiting waiting1 = DummyDataMaker.waiting(user1, store);

when(waitingRepository.findById(1L)).thenReturn(Optional.of(waiting1));
when(messageSender.send(any(),any())).thenCallRealMethod();

//when
quingService.sendMessage(1L, "test");
Expand All @@ -163,6 +167,7 @@ void sendEnterMessage(CapturedOutput output) {
Waiting waiting1 = DummyDataMaker.waiting(user1, store);

when(waitingRepository.findById(1L)).thenReturn(Optional.of(waiting1));
when(messageSender.send(any(),any())).thenCallRealMethod();

//when
quingService.sendEnterMessage(1L);
Expand All @@ -180,6 +185,7 @@ void sendRegisterMessage(CapturedOutput output) {
Waiting waiting1 = DummyDataMaker.waiting(user1, store);

when(waitingRepository.findById(1L)).thenReturn(Optional.of(waiting1));
when(messageSender.send(any(),any())).thenCallRealMethod();

//when
quingService.sendRegisterMessage(1L);
Expand Down

0 comments on commit 0fa50b2

Please sign in to comment.