Skip to content

Commit

Permalink
Merge pull request #17 from FIAP-3SOAT-G15/feature/testss
Browse files Browse the repository at this point in the history
controller test
  • Loading branch information
wellyfrs authored May 20, 2024
2 parents 0d00a1c + b8da72a commit 31f1bc6
Show file tree
Hide file tree
Showing 75 changed files with 1,289 additions and 253 deletions.
23 changes: 22 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,13 @@
<sonar.coverage.jacoco.xmlReportPaths>${project.basedir}/target/site/jacoco/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
<sonar.language>kotlin</sonar.language>
<sonar.verbose>true</sonar.verbose>
<sonar.exclusions>
**/com/fiap/stock/application/driver/web/StockAPI.kt,
**/com/fiap/stock/application/driver/web/StockAPI*,
**/com/fiap/stock/application/driver/web/MenuAPI*,
**/com/fiap/stock/application/driver/web/ProductAPI*
</sonar.exclusions>

</properties>
<dependencies>
<dependency>
Expand Down Expand Up @@ -298,7 +305,7 @@
<executions>
<execution>
<configuration>
<mainClass>com.fiap.stock.StockApiApp</mainClass>
<mainClass>com.fiap.stock.application.StockApiApp</mainClass>
</configuration>
</execution>
<execution>
Expand Down Expand Up @@ -370,6 +377,20 @@
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.12</version>
<configuration>
<excludes>
<exclude>**/com/fiap/stock/application/driver/database/configuration/GatewayConfig.kt</exclude>
<exclude>**/com/fiap/stock/application/config/JWTSecurityConfig.kt</exclude>
<exclude>**/com/fiap/stock/application/config/RestTemplateConfig.kt</exclude>
<exclude>**/com/fiap/stock/application/adapter/controller/configuration/ServiceConfig.kt</exclude>
<exclude>**/com/fiap/stock/application/**/configuration/**</exclude>
<exclude>**/com/fiap/stock/application/driver/web/*API</exclude>
<exclude>**/com/fiap/stock/application/driver/web/ComponentAPI*</exclude>
<exclude>**/com/fiap/stock/application/driver/web/ProductAPI*</exclude>
<exclude>**/com/fiap/stock/application/driver/web/MenuAPI*</exclude>
<exclude>**/com/fiap/stock/application/driver/web/StockAPI.kt</exclude>
</excludes>
</configuration>
<executions>
<execution>
<id>prepare-agent</id>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.fiap.stock
package com.fiap.stock.application

import io.swagger.v3.oas.annotations.OpenAPIDefinition
import io.swagger.v3.oas.annotations.info.Contact
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package com.fiap.stock.adapter.controller
package com.fiap.stock.application.adapter.controller

import com.fiap.stock.domain.entities.Component
import com.fiap.stock.driver.web.ComponentAPI
import com.fiap.stock.driver.web.request.ComponentRequest
import com.fiap.stock.usecases.CreateComponentUseCase
import com.fiap.stock.usecases.LoadComponentUseCase
import com.fiap.stock.usecases.SearchComponentUseCase
import com.fiap.stock.application.domain.entities.Component
import com.fiap.stock.application.driver.web.ComponentAPI
import com.fiap.stock.application.driver.web.request.ComponentRequest
import com.fiap.stock.application.usecases.CreateComponentUseCase
import com.fiap.stock.application.usecases.LoadComponentUseCase
import com.fiap.stock.application.usecases.SearchComponentUseCase
import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.RestController

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package com.fiap.stock.adapter.controller
package com.fiap.stock.application.adapter.controller

import com.fiap.stock.domain.entities.Product
import com.fiap.stock.domain.valueobjects.ProductCategory
import com.fiap.stock.driver.web.MenuAPI
import com.fiap.stock.usecases.LoadProductUseCase
import com.fiap.stock.usecases.SearchProductUseCase
import com.fiap.stock.application.domain.entities.Product
import com.fiap.stock.application.domain.valueobjects.ProductCategory
import com.fiap.stock.application.driver.web.MenuAPI
import com.fiap.stock.application.usecases.LoadProductUseCase
import com.fiap.stock.application.usecases.SearchProductUseCase
import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.RestController

Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,22 @@
package com.fiap.stock.adapter.controller
package com.fiap.stock.application.adapter.controller

import com.fiap.stock.domain.entities.Product
import com.fiap.stock.domain.valueobjects.ProductCategory
import com.fiap.stock.driver.web.ProductAPI
import com.fiap.stock.driver.web.request.ProductComposeRequest
import com.fiap.stock.driver.web.request.ProductRequest
import com.fiap.stock.driver.web.response.ProductResponse
import com.fiap.stock.application.domain.entities.Product
import com.fiap.stock.application.domain.valueobjects.ProductCategory
import com.fiap.stock.application.driver.web.ProductAPI
import com.fiap.stock.application.driver.web.request.ProductComposeRequest
import com.fiap.stock.application.driver.web.request.ProductRequest
import com.fiap.stock.application.driver.web.response.ProductResponse
import com.fiap.stock.application.usecases.AssembleProductsUseCase
import com.fiap.stock.application.usecases.LoadProductUseCase
import com.fiap.stock.application.usecases.SearchProductUseCase
import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.RestController

@RestController
class ProductController(
private val assembleProductsUseCase: com.fiap.stock.usecases.AssembleProductsUseCase,
private val loadProductUseCase: com.fiap.stock.usecases.LoadProductUseCase,
private val searchProductUseCase: com.fiap.stock.usecases.SearchProductUseCase,
private val assembleProductsUseCase: AssembleProductsUseCase,
private val loadProductUseCase: LoadProductUseCase,
private val searchProductUseCase: SearchProductUseCase,
) : ProductAPI {
override fun getByProductNumber(productNumber: Long): ResponseEntity<ProductResponse> {
return loadProductUseCase.getByProductNumber(productNumber).let(::createResponse)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package com.fiap.stock.adapter.controller
package com.fiap.stock.application.adapter.controller

import com.fiap.stock.domain.entities.Stock
import com.fiap.stock.driver.web.StockAPI
import com.fiap.stock.driver.web.request.QuantityRequest
import com.fiap.stock.usecases.AdjustStockUseCase
import com.fiap.stock.application.domain.entities.Stock
import com.fiap.stock.application.driver.web.StockAPI
import com.fiap.stock.application.driver.web.request.QuantityRequest
import com.fiap.stock.application.usecases.AdjustStockUseCase
import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.RestController

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.fiap.stock.adapter.controller.configuration
package com.fiap.stock.application.adapter.controller.configuration

import com.fiap.stock.domain.errors.ErrorType
import com.fiap.stock.domain.errors.SelfOrderManagementException
import com.fiap.stock.application.domain.errors.ErrorType
import com.fiap.stock.application.domain.errors.SelfOrderManagementException
import org.springframework.http.HttpStatus
import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.ControllerAdvice
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
package com.fiap.stock.adapter.controller.configuration

import com.fiap.stock.StockApiApp
import com.fiap.stock.adapter.gateway.ComponentGateway
import com.fiap.stock.adapter.gateway.ProductGateway
import com.fiap.stock.adapter.gateway.StockGateway
import com.fiap.stock.usecases.LoadComponentUseCase
import com.fiap.stock.usecases.services.ComponentService
package com.fiap.stock.application.adapter.controller.configuration

import com.fiap.stock.application.StockApiApp
import com.fiap.stock.application.adapter.gateway.ComponentGateway
import com.fiap.stock.application.adapter.gateway.ProductGateway
import com.fiap.stock.application.adapter.gateway.StockGateway
import com.fiap.stock.application.usecases.LoadComponentUseCase
import com.fiap.stock.application.services.ComponentService
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.ComponentScan
import org.springframework.context.annotation.Configuration
import services.ProductService
import services.StockService
import com.fiap.stock.application.services.ProductService
import com.fiap.stock.application.services.StockService

@Configuration
@ComponentScan(basePackageClasses = [StockApiApp::class])
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.fiap.stock.adapter.gateway
package com.fiap.stock.application.adapter.gateway

import com.fiap.stock.domain.entities.Component
import com.fiap.stock.application.domain.entities.Component

interface ComponentGateway {
fun findAll(): List<Component>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.fiap.stock.adapter.gateway
package com.fiap.stock.application.adapter.gateway

import com.fiap.stock.domain.entities.Product
import com.fiap.stock.domain.valueobjects.ProductCategory
import com.fiap.stock.application.domain.entities.Product
import com.fiap.stock.application.domain.valueobjects.ProductCategory

interface ProductGateway {
fun findAll(): List<Product>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.fiap.stock.adapter.gateway
package com.fiap.stock.application.adapter.gateway

import com.fiap.stock.domain.entities.Stock
import com.fiap.stock.application.domain.entities.Stock

interface StockGateway {
fun findByComponentNumber(componentNumber: Long): Stock?
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.fiap.stock.adapter.gateway
package com.fiap.stock.application.adapter.gateway

interface TransactionalGateway {
fun <T> transaction(code: () -> T): T
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package com.fiap.stock.adapter.gateway.impl
package com.fiap.stock.application.adapter.gateway.impl

import com.fiap.stock.adapter.gateway.ComponentGateway
import com.fiap.stock.domain.entities.Component
import com.fiap.stock.domain.errors.ErrorType
import com.fiap.stock.domain.errors.SelfOrderManagementException
import com.fiap.stock.driver.database.persistence.jpa.ComponentJpaRepository
import com.fiap.stock.driver.database.persistence.mapper.ComponentMapper
import com.fiap.stock.application.adapter.gateway.ComponentGateway
import com.fiap.stock.application.domain.entities.Component
import com.fiap.stock.application.domain.errors.ErrorType
import com.fiap.stock.application.domain.errors.SelfOrderManagementException
import com.fiap.stock.application.driver.database.persistence.jpa.ComponentJpaRepository
import com.fiap.stock.application.driver.database.persistence.mapper.ComponentMapper
import org.mapstruct.factory.Mappers

class ComponentGatewayImpl(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package com.fiap.stock.adapter.gateway.impl
package com.fiap.stock.application.adapter.gateway.impl

import com.fiap.stock.adapter.gateway.ProductGateway
import com.fiap.stock.domain.entities.Product
import com.fiap.stock.domain.errors.ErrorType
import com.fiap.stock.domain.errors.SelfOrderManagementException
import com.fiap.stock.domain.valueobjects.ProductCategory
import com.fiap.stock.driver.database.persistence.jpa.ProductJpaRepository
import com.fiap.stock.driver.database.persistence.mapper.ProductMapper
import com.fiap.stock.application.adapter.gateway.ProductGateway
import com.fiap.stock.application.domain.entities.Product
import com.fiap.stock.application.domain.errors.ErrorType
import com.fiap.stock.application.domain.errors.SelfOrderManagementException
import com.fiap.stock.application.domain.valueobjects.ProductCategory
import com.fiap.stock.application.driver.database.persistence.jpa.ProductJpaRepository
import com.fiap.stock.application.driver.database.persistence.mapper.ProductMapper
import org.mapstruct.factory.Mappers

class ProductGatewayImpl(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package com.fiap.stock.adapter.gateway.impl
package com.fiap.stock.application.adapter.gateway.impl

import com.fiap.stock.adapter.gateway.StockGateway
import com.fiap.stock.domain.entities.Stock
import com.fiap.stock.domain.errors.ErrorType
import com.fiap.stock.domain.errors.SelfOrderManagementException
import com.fiap.stock.driver.database.persistence.jpa.StockJpaRepository
import com.fiap.stock.driver.database.persistence.mapper.StockMapper
import com.fiap.stock.application.adapter.gateway.StockGateway
import com.fiap.stock.application.domain.entities.Stock
import com.fiap.stock.application.domain.errors.ErrorType
import com.fiap.stock.application.domain.errors.SelfOrderManagementException
import com.fiap.stock.application.driver.database.persistence.jpa.StockJpaRepository
import com.fiap.stock.application.driver.database.persistence.mapper.StockMapper
import org.mapstruct.factory.Mappers

class StockGatewayImpl(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.fiap.stock.adapter.gateway.impl
package com.fiap.stock.application.adapter.gateway.impl

import com.fiap.stock.adapter.gateway.TransactionalGateway
import com.fiap.stock.application.adapter.gateway.TransactionalGateway
import org.springframework.transaction.annotation.Transactional

open class TransactionalGatewayImpl : TransactionalGateway {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.fiap.stock.config
package com.fiap.stock.application.config

import io.swagger.v3.oas.annotations.enums.SecuritySchemeType
import io.swagger.v3.oas.annotations.security.SecurityScheme
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.fiap.stock.config
package com.fiap.stock.application.config

import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.fiap.stock.domain.entities
package com.fiap.stock.application.domain.entities

data class Component(
val number: Long? = null,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.fiap.stock.domain.entities
package com.fiap.stock.application.domain.entities

import com.fiap.stock.domain.valueobjects.ProductCategory
import com.fiap.stock.application.domain.valueobjects.ProductCategory
import java.math.BigDecimal

data class Product(
Expand All @@ -26,5 +26,4 @@ data class Product(
components = newProduct.components,
)

fun isLogicalItem() = components.isEmpty()
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.fiap.stock.domain.entities
package com.fiap.stock.application.domain.entities

data class Stock(
val componentNumber: Long,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.fiap.stock.domain.errors
package com.fiap.stock.application.domain.errors

enum class ErrorType {
PRODUCT_NOT_FOUND,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.fiap.stock.domain.errors
package com.fiap.stock.application.domain.errors

data class SelfOrderManagementException(var errorType: ErrorType, override val cause: Throwable? = null, override val message: String?) :
RuntimeException(message, cause)
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.fiap.stock.domain.valueobjects
package com.fiap.stock.application.domain.valueobjects

import com.fiap.stock.domain.errors.ErrorType
import com.fiap.stock.domain.errors.SelfOrderManagementException
import com.fiap.stock.application.domain.errors.ErrorType
import com.fiap.stock.application.domain.errors.SelfOrderManagementException

enum class ProductCategory {
DRINK,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
package com.fiap.stock.driver.database.configuration
package com.fiap.stock.application.driver.database.configuration

import com.fiap.stock.StockApiApp
import com.fiap.stock.adapter.gateway.ComponentGateway
import com.fiap.stock.adapter.gateway.ProductGateway
import com.fiap.stock.adapter.gateway.StockGateway
import com.fiap.stock.adapter.gateway.TransactionalGateway
import com.fiap.stock.adapter.gateway.impl.ComponentGatewayImpl
import com.fiap.stock.adapter.gateway.impl.ProductGatewayImpl
import com.fiap.stock.adapter.gateway.impl.StockGatewayImpl
import com.fiap.stock.adapter.gateway.impl.TransactionalGatewayImpl
import com.fiap.stock.driver.database.persistence.jpa.ComponentJpaRepository
import com.fiap.stock.driver.database.persistence.jpa.ProductJpaRepository
import com.fiap.stock.driver.database.persistence.jpa.StockJpaRepository
import com.fiap.stock.application.StockApiApp
import com.fiap.stock.application.adapter.gateway.ComponentGateway
import com.fiap.stock.application.adapter.gateway.ProductGateway
import com.fiap.stock.application.adapter.gateway.StockGateway
import com.fiap.stock.application.adapter.gateway.TransactionalGateway
import com.fiap.stock.application.adapter.gateway.impl.ComponentGatewayImpl
import com.fiap.stock.application.adapter.gateway.impl.ProductGatewayImpl
import com.fiap.stock.application.adapter.gateway.impl.StockGatewayImpl
import com.fiap.stock.application.adapter.gateway.impl.TransactionalGatewayImpl
import com.fiap.stock.application.driver.database.persistence.jpa.ComponentJpaRepository
import com.fiap.stock.application.driver.database.persistence.jpa.ProductJpaRepository
import com.fiap.stock.application.driver.database.persistence.jpa.StockJpaRepository
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.ComponentScan
import org.springframework.context.annotation.Configuration
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.fiap.stock.driver.database.persistence.entities
package com.fiap.stock.application.driver.database.persistence.entities

import jakarta.persistence.Column
import jakarta.persistence.Entity
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.fiap.stock.driver.database.persistence.entities
package com.fiap.stock.application.driver.database.persistence.entities

import jakarta.persistence.Column
import jakarta.persistence.Entity
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.fiap.stock.driver.database.persistence.entities
package com.fiap.stock.application.driver.database.persistence.entities

import jakarta.persistence.Column
import jakarta.persistence.Entity
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.fiap.stock.driver.database.persistence.jpa
package com.fiap.stock.application.driver.database.persistence.jpa

import com.fiap.stock.driver.database.persistence.entities.ComponentEntity
import com.fiap.stock.application.driver.database.persistence.entities.ComponentEntity
import org.springframework.data.repository.CrudRepository

interface ComponentJpaRepository : CrudRepository<ComponentEntity, Long> {
Expand Down
Loading

0 comments on commit 31f1bc6

Please sign in to comment.