Skip to content

Commit

Permalink
Merge branch 'dev'
Browse files Browse the repository at this point in the history
살려주세요 .
  • Loading branch information
choi5798 committed Sep 22, 2023
2 parents e5b2629 + 4e0a3f9 commit f1e6869
Show file tree
Hide file tree
Showing 7 changed files with 206 additions and 2 deletions.
7 changes: 7 additions & 0 deletions .github/workflows/prTest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,13 @@ jobs:

steps:
- uses: actions/checkout@v3

- name: Check Repo code With Submodules
uses: actions/checkout@v3
with:
submodules: 'true'
token: ${{secrets.GH_ACCESS_TOKEN}}

- name: Set up JDK 17
uses: actions/setup-java@v3
with:
Expand Down
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[submodule "src/main/resources/sub"]
path = src/main/resources/sub
url = https://github.com/juno-junho/pomin-owner-submodule
url = https://github.com/juno-junho/pomin-owner-submodule.git
20 changes: 20 additions & 0 deletions src/main/java/com/ray/pominowner/global/config/TokenProvider.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package com.ray.pominowner.global.config;

import lombok.Getter;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Getter
@Component
public class TokenProvider {

private final String businessNumberServiceKey;
private final String businessNumberHeaderAuthKey;

public TokenProvider(@Value("${api.token.business.query:''}") String businessNumberServiceKey,
@Value("${api.token.business.header:''}") String businessNumberHeaderAuthKey) {
this.businessNumberServiceKey = businessNumberServiceKey;
this.businessNumberHeaderAuthKey = businessNumberHeaderAuthKey;
}

}
2 changes: 1 addition & 1 deletion src/main/resources/sub
Submodule sub updated from 9680f7 to 6f9075
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package com.ray.pominowner.global.config;

import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import static org.assertj.core.api.Assertions.assertThat;

@Slf4j
@SpringBootTest
class TokenProviderTest {

@Autowired
private TokenProvider tokenProvider;

@Test
@DisplayName("yml에 설정된 올바른 토큰을 가져올 수 있다.")
void successGetCorrectToken() {
String businessNumberServiceKey = tokenProvider.getBusinessNumberServiceKey();
String businessNumberHeaderAuthKey = tokenProvider.getBusinessNumberHeaderAuthKey();
log.info("businessNumberServiceKey: {}, businessNumberHeaderAuthKey: {}", businessNumberServiceKey, businessNumberHeaderAuthKey);

assertThat(businessNumberServiceKey).isNotBlank();
assertThat(businessNumberHeaderAuthKey).isNotBlank();
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
package com.ray.pominowner.orders.service;

import com.ray.pominowner.global.domain.PhoneNumber;
import com.ray.pominowner.orders.domain.Order;
import com.ray.pominowner.orders.domain.OrderStatus;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

import static org.assertj.core.api.Assertions.assertThat;

@Transactional
@SpringBootTest
public class OrderServiceDbTest {

@Autowired
private OrderService orderService;

private Order order;

@BeforeEach
void setup() {
order = Order.builder()
.id(1L)
.orderNumber("ORDERNUMBER")
.status(OrderStatus.CONFIRMING)
.requestedDetails("덜맵게 해주세요")
.totalPrice(30000)
.customerPhoneNumber(new PhoneNumber("01012345678"))
.storeId(1L)
.paymentId(1L)
.build();
}

@Test
@DisplayName("오늘의 주문 목록을 DB에서 가져오는데 성공한다")
void successGetTodayOrders() {
// given
Order savedOrder = orderService.receiveOrder(order);

// when
List<Order> todayOrders = orderService.getTodayOrders(1L);

// then
Order firstElement = todayOrders.get(0);
assertThat(firstElement).isEqualTo(savedOrder);
assertThat(todayOrders.size()).isEqualTo(1);
assertThat(savedOrder.getCreatedAt().toLocalDate()).isEqualTo(firstElement.getCreatedAt().toLocalDate());
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
package com.ray.pominowner.store.service;

import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.Collections;
import java.util.List;

import static org.assertj.core.api.Assertions.assertThatNoException;
import static org.assertj.core.api.Assertions.assertThatThrownBy;

@SpringBootTest
class StoreServiceValidatorTest {

@Autowired
StoreServiceValidator storeServiceValidator;

@Test
@DisplayName("카테고리 리스트가 null이면 예외가 발생한다.")
void failIfCategoryListIsNull() {
// given
List<String> categoryRequest = null;

// when, then
assertThatThrownBy(() -> storeServiceValidator.validateCategory(categoryRequest))
.isInstanceOf(IllegalArgumentException.class)
.hasMessage("카테고리 리스트에 요소가 하나 이상이어야 합니다.");
}

@Test
@DisplayName("카테고리 리스트에 요소가 하나 미만이면 예외가 발생한다.")
void failWhenCategoryListElementIsLessThanOne() {
// given
List<String> categoryRequest = Collections.emptyList();

// when, then
assertThatThrownBy(() -> storeServiceValidator.validateCategory(categoryRequest))
.isInstanceOf(IllegalArgumentException.class)
.hasMessage("카테고리 리스트에 요소가 하나 이상이어야 합니다.");
}

@Test
@DisplayName("카테고리 리스트에 실제 카테고리가 아닌 요소가 있으면 예외가 발생한다.")
void failWhenCategoryListContainsWrongCategoryName() {
// given
List<String> categoryRequest = List.of("한식", "도시락", "존재하지않는카테고리");

// when, then
assertThatThrownBy(() -> storeServiceValidator.validateCategory(categoryRequest))
.isInstanceOf(IllegalArgumentException.class)
.hasMessage("존재하지 않는 카테고리가 포함되어 있습니다.");
}

@Test
@DisplayName("카테고리 리스트에 중복된 요소가 있으면 예외가 발생한다.")
void failWhenCategoryListContainsDuplicateElement() {
// given
List<String> categoryRequest = List.of("한식", "한식", "한식");

// when, then
assertThatThrownBy(() -> storeServiceValidator.validateCategory(categoryRequest))
.isInstanceOf(IllegalArgumentException.class)
.hasMessage("중복된 카테고리가 있습니다.");
}

@Test
@DisplayName("국세청에 등록되지 않은 사업자번호이면 예외가 발생한다")
void failWhenBusinessNumberIsNotRegistered() {
// given
final String notRegisteredBusinessNumber = "0000000000";

// when, then
assertThatThrownBy(() -> storeServiceValidator.validateBusinessNumber(notRegisteredBusinessNumber))
.isInstanceOf(IllegalArgumentException.class)
.hasMessage("0000000000 : 국세청에 등록되지 않은 사업자등록번호입니다.");
}


@Test
@DisplayName("국세청에 등록된 사업자번호이면 예외가 발생한다")
void successWhenBusinessNumberIsRegistered() {
// given
final String notRegisteredBusinessNumber = "1072059931";

// when, then
assertThatNoException()
.isThrownBy(() -> storeServiceValidator.validateBusinessNumber(notRegisteredBusinessNumber));
}

}

0 comments on commit f1e6869

Please sign in to comment.