Skip to content

Commit

Permalink
Refactoring Test Code
Browse files Browse the repository at this point in the history
- CartItemRepositoryTest
- CategoryRepositoryTest
- MemberRepositoryTest
- ProductRepositoryTest
- RoleRepositoryTest
- ProductServiceTests
- JwtTokenizerTest
  • Loading branch information
HJC96 committed Aug 13, 2023
1 parent 6cb74fa commit 4add32f
Show file tree
Hide file tree
Showing 11 changed files with 314 additions and 288 deletions.
5 changes: 5 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,11 @@
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.0.2</version>
</dependency>

<!-- <dependency>-->
<!-- <groupId>io.springfox</groupId>-->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ public SecurityFilterChain securityFilterChain(HttpSecurity httpSecurity) throws
.authorizeHttpRequests(httpRequests -> httpRequests
.requestMatchers(CorsUtils::isPreFlightRequest).permitAll() // Preflight 요청은 허용한다. https://velog.io/@jijang/%EC%82%AC%EC%A0%84-%EC%9A%94%EC%B2%AD-Preflight-request
.requestMatchers( "/members/signup", "/members/login", "/members/refreshToken").permitAll()
.requestMatchers("/swagger-ui/*", "/v3/*").permitAll()
.requestMatchers(GET, "/products/**", "/carts/**").permitAll()
.requestMatchers(PUT, "/products/**", "/carts/**").permitAll()
.requestMatchers(PATCH, "/products/**", "/carts/**").permitAll()
Expand Down
54 changes: 38 additions & 16 deletions src/main/java/com/fakeapi/FakeStore/config/SwaggerConfig.java
Original file line number Diff line number Diff line change
@@ -1,24 +1,27 @@
//package com.fakeapi.FakeStore.config;
//
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.web.bind.annotation.RestController;
//import org.springframework.web.servlet.config.annotation.EnableWebMvc;
package com.fakeapi.FakeStore.config;

import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import org.springdoc.core.models.GroupedOpenApi;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
//import springfox.documentation.builders.ApiInfoBuilder;
//import springfox.documentation.builders.PathSelectors;
//import springfox.documentation.builders.RequestHandlerSelectors;
//import springfox.documentation.service.ApiInfo;
//import springfox.documentation.service.ApiKey;
//import springfox.documentation.spi.DocumentationType;
//import springfox.documentation.spring.web.plugins.Docket;
//
//import java.util.List;
//
//
//@Configuration
//@EnableWebMvc
//public class SwaggerConfig {
//

import java.util.List;


@Configuration
@EnableWebMvc
public class SwaggerConfig {

// @Bean
// public Docket api() {
// return new Docket(DocumentationType.OAS_30)
Expand All @@ -27,5 +30,24 @@
// .paths(PathSelectors.any())
// .build();
// }
//}
//
@Bean
public GroupedOpenApi publicApi() {
return GroupedOpenApi.builder()
.group("openapi")
.pathsToMatch("/**")
.build();
}

@Bean
public OpenAPI openAPI() {

Info info = new Info()
.version("v1.0.0")
.title("FakeStore API")
.description("API Description");

return new OpenAPI()
.info(info);
}
}

1 change: 1 addition & 0 deletions src/main/resources/application.properties
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ spring.datasource.username=storeuser
spring.datasource.password=cks147



jwt.secretKey=11333331111111111111111111111122
jwt.refreshKey=11333331111111111111111111111122

Expand Down
Original file line number Diff line number Diff line change
@@ -1,47 +1,34 @@
//package com.fakeapi.FakeStore.repository;
//
//import com.fakeapi.FakeStore.domain.Cart;
//import com.fakeapi.FakeStore.domain.CartItem;
//import org.junit.jupiter.api.Test;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.boot.test.context.SpringBootTest;
//
//import jakarta.persistence.*;
//
//import java.util.ArrayList;
//
//import static org.junit.jupiter.api.Assertions.*;
//
//@SpringBootTest
//class CartItemRepositoryTest {
// @Autowired
// CartItemRepository cartItemRepository;
//
//
// @Id
// @GeneratedValue(strategy = GenerationType.IDENTITY)
// private Long id;
//
// @ManyToOne
// @JoinColumn(name = "CART_ID")
// private Cart cart;
// @JoinColumn(name = "PRODUCT_ID")
// private Long productId;
// @JoinColumn(name = "PRODUCT_TITLE")
// private String productTitle;
// @JoinColumn(name = "PRODUCT_PRICE")
// private Double productPrice;
// @JoinColumn(name = "PRODUCT_DESC")
// private String productDescription;
// @JoinColumn(name = "QUANTITY")
// private int quantity;
//
// @Test
// public void TST(){
// CartItem cartItem = new CartItem();
//
//
// cartItemRepository.save(cartItem);
// }
//
//}
package com.fakeapi.FakeStore.repository;

import com.fakeapi.FakeStore.domain.CartItem;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import static org.junit.jupiter.api.Assertions.*;

@SpringBootTest
class CartItemRepositoryTest {

@Autowired
CartItemRepository cartItemRepository;

private CartItem cartItem;

@BeforeEach
public void setUp() {
cartItem = new CartItem();
cartItem.setProductId(12345L); // 예시 상품 ID
cartItem.setQuantity(2); // 예시 수량
}

@Test
public void testSaveCartItem() {
CartItem savedCartItem = cartItemRepository.save(cartItem);

assertNotNull(savedCartItem.getId()); // Verify if the cartItem was saved by checking its ID.
assertEquals(cartItem.getProductId(), savedCartItem.getProductId()); // 상품 ID가 올바르게 저장되었는지 검증
assertEquals(cartItem.getQuantity(), savedCartItem.getQuantity()); // 수량이 올바르게 저장되었는지 검증
}
}
Original file line number Diff line number Diff line change
@@ -1,30 +1,35 @@
//package com.fakeapi.FakeStore.repository;
//
//import com.fakeapi.FakeStore.domain.Category;
//import com.fakeapi.FakeStore.domain.Product;
//import com.fakeapi.FakeStore.domain.Rating;
//import org.junit.jupiter.api.Test;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.boot.test.context.SpringBootTest;
//
//import java.util.ArrayList;
//import java.util.List;
//
//import static org.junit.jupiter.api.Assertions.*;
//
//@SpringBootTest
//class CategoryRepositoryTest {
//
// @Autowired
// private CategoryRepository categoryRepository;
//
// @Test
// public void testCategoryRepository() {
//
//
// Category category = new Category();
// category.setName("men's clothing");
//
// categoryRepository.save(category);
// }
//}
package com.fakeapi.FakeStore.repository;

import com.fakeapi.FakeStore.domain.Category;
import com.fakeapi.FakeStore.domain.Product;
import com.fakeapi.FakeStore.domain.Rating;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.ArrayList;
import java.util.List;

import static org.junit.jupiter.api.Assertions.*;

@SpringBootTest
class CategoryRepositoryTest {

@Autowired
private CategoryRepository categoryRepository;

private Category category;

@BeforeEach
public void setUp() {
category = new Category();
category.setName("men's clothing");
}

@Test
public void testSaveCategory() {
Category savedCategory = categoryRepository.save(category);
assertNotNull(savedCategory.getId());
}
}
Original file line number Diff line number Diff line change
@@ -1,53 +1,48 @@
package com.fakeapi.FakeStore.repository;

import com.fakeapi.FakeStore.domain.Category;
import com.fakeapi.FakeStore.domain.Member;
import com.fakeapi.FakeStore.domain.Role;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import jakarta.persistence.Column;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import static org.junit.jupiter.api.Assertions.*;

@SpringBootTest
class MemberRepositoryTest {
public class MemberRepositoryTest {

@Autowired
private MemberRepository memberRepository;

@Test
public void MemberSign(){

// Member member = new Member();
// member.setEmail("gkswlcjs2@naver.com");
// member.setMembername("HanJiChan");
// member.setPassword("HanJiChan");
//
// String dateStr = "2023-07-17";
// DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
// LocalDate date = LocalDate.parse(dateStr, formatter);
// LocalDateTime dateTime = date.atStartOfDay(); // this will set the time to 00:00
//
// member.setDate(dateTime);
//
// Role role = new Role();
// role.setName("ADMIN");
//
// Set<Role> roles = new HashSet<>();
// roles.add(role);
// member.setRoles(roles);
// // memberRepository.setName("men's clothing");
//
// memberRepository.save(member);
//// memberRepository.save();
}
private Member member;

@BeforeEach
public void setUp() {
member = new Member();
member.setEmail("gkswlcjs2@naver.com");
member.setName("HanJiChan");
member.setPassword("HanJiChan");
member.setBirthYear(1995);
member.setBirthMonth(7);
member.setBirthDay(17);
member.setGender("Male");

Role role = new Role();
role.setName("ADMIN");

}
Set<Role> roles = new HashSet<>();
roles.add(role);
member.setRoles(roles);
}

@Test
public void testSaveMember() {
Member savedMember = memberRepository.save(member);
assertNotNull(savedMember.getId()); // 저장된 멤버의 ID를 확인
assertEquals(savedMember.getEmail(), member.getEmail()); // 저장된 멤버의 이메일을 확인
}
}
Loading

0 comments on commit 4add32f

Please sign in to comment.