From 1dcf26e06244cad9d06b2c36460848e09d6e64b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?user=20=EC=9D=B4=EB=A6=84?= Date: Wed, 13 Mar 2024 00:23:00 +0900 Subject: [PATCH] =?UTF-8?q?YEL-224=20[feat]=20Pay=20=ED=85=8C=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=20=EB=B0=8F=20=EC=84=9C=EB=A5=98=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/docs/asciidoc/index.adoc | 5 - src/docs/asciidoc/pay.adoc | 10 -- src/main/resources/static/docs/index.html | 20 +--- .../resources/static/docs/reward-admob.html | 16 +-- .../domain/pay/medium/PayControllerTest.java | 103 ------------------ 5 files changed, 5 insertions(+), 149 deletions(-) delete mode 100644 src/docs/asciidoc/pay.adoc delete mode 100644 src/test/java/com/yello/server/domain/pay/medium/PayControllerTest.java diff --git a/src/docs/asciidoc/index.adoc b/src/docs/asciidoc/index.adoc index e3d8a51a..b1ad4db9 100644 --- a/src/docs/asciidoc/index.adoc +++ b/src/docs/asciidoc/index.adoc @@ -99,11 +99,6 @@ * link:purchase-check.html[구독 상태 및 열람권 개수 조회하기] -=== Pay API - -- @Deprecated at 2024.03 -* link:pay.html[결제 전환율 체크] - === Notice API * 🆕 link:find-notice.html[공지 조회, 2024-01-29] diff --git a/src/docs/asciidoc/pay.adoc b/src/docs/asciidoc/pay.adoc deleted file mode 100644 index 14a67d19..00000000 --- a/src/docs/asciidoc/pay.adoc +++ /dev/null @@ -1,10 +0,0 @@ -:reproducible: -== 친구 추가하기 - -=== 요청 - -include::{snippets}/api/v1/pay/postPayCount/http-request.adoc[] - -=== 응답 - -include::{snippets}/api/v1/pay/postPayCount/http-response.adoc[] diff --git a/src/main/resources/static/docs/index.html b/src/main/resources/static/docs/index.html index f89c7eb4..38b6d928 100644 --- a/src/main/resources/static/docs/index.html +++ b/src/main/resources/static/docs/index.html @@ -454,7 +454,6 @@

YELL:O API 문서

  • Vote API
  • Friend API
  • Purchase API
  • -
  • Pay API
  • Notice API
  • Event API
  • @@ -619,23 +618,6 @@

    Purchase API
    -

    Pay API

    -
    - -
    -
    -

    Notice API

      @@ -659,7 +641,7 @@

      Event API

      🆕 이벤트 보상, 2024-02-07

    • -

      🆕 광고보고 보상 얻기, 2024-02-11

      +

      🆕 광고보고 보상 얻기, 2024-02-19

    • 🆕 광고보고 보상 얻기 가능 여부 조회, 2024-02-17

      diff --git a/src/main/resources/static/docs/reward-admob.html b/src/main/resources/static/docs/reward-admob.html index 42d12596..61ecd115 100644 --- a/src/main/resources/static/docs/reward-admob.html +++ b/src/main/resources/static/docs/reward-admob.html @@ -450,7 +450,6 @@

      요청

      POST /api/v1/admob/reward HTTP/1.1
       Content-Type: application/json;charset=UTF-8
       Authorization: Bearer your-access-token
      -IdempotencyKey: 87552f7c-9b62-4b12-b567-1bd062b09288
       Content-Length: 134
       
       {
      @@ -474,7 +473,7 @@ 

      request body

      ADMOB_POINT : 광고 보고 10 포인트

    • -

      ADMOB_MULTIPLE_POINT : 광고 보고 포인트 2배 이벤트

      +

      ADMOB_MULTIPLE_POINT : 투표 후, 광고 보고 포인트 2배 이벤트

    @@ -529,16 +528,6 @@

    NOTE

    • -

      Header에 무작위한 UUID4 값을 넣어주세요

      -
      -
        -
      • -

        예시) IdempotencyKey: 0397b5f3-ecdc-47d6-b5d7-2b1afcf00e87

        -
      • -
      -
      -
    • -
    • 주의사항

        @@ -566,6 +555,9 @@

        CHANGELOG

        • +

          2024.02.19 API ENUM, 명세서 수정

          +
        • +
        • 2024.02.11 릴리즈

        diff --git a/src/test/java/com/yello/server/domain/pay/medium/PayControllerTest.java b/src/test/java/com/yello/server/domain/pay/medium/PayControllerTest.java deleted file mode 100644 index 045da940..00000000 --- a/src/test/java/com/yello/server/domain/pay/medium/PayControllerTest.java +++ /dev/null @@ -1,103 +0,0 @@ -package com.yello.server.domain.pay.medium; - -import static org.mockito.ArgumentMatchers.anyInt; -import static org.mockito.ArgumentMatchers.anyLong; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; -import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document; -import static org.springframework.restdocs.operation.preprocess.Preprocessors.modifyHeaders; -import static org.springframework.restdocs.operation.preprocess.Preprocessors.prettyPrint; -import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf; -import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; - -import com.fasterxml.jackson.databind.ObjectMapper; -import com.yello.server.domain.authorization.filter.JwtExceptionFilter; -import com.yello.server.domain.authorization.filter.JwtFilter; -import com.yello.server.domain.pay.controller.PayController; -import com.yello.server.domain.pay.dto.request.PayCountRequest; -import com.yello.server.domain.pay.service.PayService; -import com.yello.server.global.exception.ControllerExceptionAdvice; -import com.yello.server.util.WithAccessTokenUser; -import org.junit.jupiter.api.DisplayName; -import org.junit.jupiter.api.DisplayNameGeneration; -import org.junit.jupiter.api.DisplayNameGenerator.ReplaceUnderscores; -import org.junit.jupiter.api.Test; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.restdocs.AutoConfigureRestDocs; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; -import org.springframework.boot.test.mock.mockito.MockBean; -import org.springframework.context.annotation.ComponentScan; -import org.springframework.context.annotation.FilterType; -import org.springframework.http.HttpHeaders; -import org.springframework.http.MediaType; -import org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders; -import org.springframework.restdocs.operation.preprocess.OperationPreprocessor; -import org.springframework.restdocs.operation.preprocess.Preprocessors; -import org.springframework.test.web.servlet.MockMvc; -import org.springframework.test.web.servlet.result.MockMvcResultMatchers; - -@AutoConfigureRestDocs -@WebMvcTest( - controllers = PayController.class, - excludeFilters = { - @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = JwtFilter.class), - @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = JwtExceptionFilter.class), - @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = ControllerExceptionAdvice.class) - }) -@WithAccessTokenUser -@DisplayNameGeneration(ReplaceUnderscores.class) -@DisplayName("Pay 컨트롤러에서") -class PayControllerTest { - - final OperationPreprocessor[] excludeRequestHeaders = new OperationPreprocessor[]{ - prettyPrint(), - modifyHeaders().remove("X-CSRF-TOKEN"), - modifyHeaders().remove(HttpHeaders.HOST) - }; - - final OperationPreprocessor[] excludeResponseHeaders = new OperationPreprocessor[]{ - prettyPrint(), - modifyHeaders().remove("X-Content-Type-Options"), - modifyHeaders().remove("X-XSS-Protection"), - modifyHeaders().remove("X-Frame-Options"), - modifyHeaders().remove(HttpHeaders.CACHE_CONTROL), - modifyHeaders().remove(HttpHeaders.PRAGMA), - modifyHeaders().remove(HttpHeaders.EXPIRES), - modifyHeaders().remove(HttpHeaders.CONTENT_LENGTH), - }; - - @Autowired - private MockMvc mockMvc; - - @Autowired - private ObjectMapper objectMapper; - - @MockBean - private PayService payService; - - @Test - void 결제_전환율_체크에_성공합니다() throws Exception { - // given - final PayCountRequest request = PayCountRequest.builder() - .index(1) - .build(); - - // when - // then - mockMvc.perform(RestDocumentationRequestBuilders.post("/api/v1/pay") - .with(csrf().asHeader()) - .header(HttpHeaders.AUTHORIZATION, "Bearer your-access-token") - .contentType(MediaType.APPLICATION_JSON) - .content(objectMapper.writeValueAsString(request))) - .andDo(print()) - .andDo(document("api/v1/pay/postPayCount", - Preprocessors.preprocessRequest(excludeRequestHeaders), - Preprocessors.preprocessResponse(excludeResponseHeaders) - )) - .andExpect(MockMvcResultMatchers.status().isOk()); - - verify(payService, times(1)) - .postPayCount(anyLong(), anyInt()); - } - -}