Skip to content

Instantly share code, notes, and snippets.

View AlicanAkkus's full-sized avatar
🤔

Alican Akkuş AlicanAkkus

🤔
View GitHub Profile
@AlicanAkkus
AlicanAkkus / keybase.md
Created September 14, 2019 18:55
keybase.md

Keybase proof

I hereby claim:

  • I am alicanakkus on github.
  • I am aakkus (https://keybase.io/aakkus) on keybase.
  • I have a public key ASBM0Gm2Sop9p_PfvLjV4rTDUnNvPnrt7uXtdLo_6oj4uAo

To claim this, I am signing this object:

package io.happy.customer
import spock.lang.Specification
import spock.lang.Unroll
class OrderCommissionCalculatorTest extends Specification {
def orderCommissionCalculator = new OrderCommissionCalculator()
@Unroll
@AlicanAkkus
AlicanAkkus / OrderCreateFacadeTest.groovy
Created May 4, 2019 20:00
order create with exception
package io.happy.customer
import spock.lang.Specification
class OrderCreateFacadeTest extends Specification {
def orderCommissionCalculator = Mock(OrderCommissionCalculator)
def orderCreateFacade = new OrderCreateFacade(orderCommissionCalculator)
void "should not create order when price is zero"() {
@AlicanAkkus
AlicanAkkus / OrderCreateFacadeTest.groovy
Last active May 4, 2019 19:54
interaction based test
package io.happy.customer
import spock.lang.Specification
class OrderCreateFacadeTest extends Specification {
def orderCommissionCalculator = Mock(OrderCommissionCalculator)
def orderCreateFacade = new OrderCreateFacade(orderCommissionCalculator)
void "should create order and verify interactions"() {
class OrderCreateFacadeTest extends Specification {
def orderCommissionCalculator = Mock(OrderCommissionCalculator)
def orderCreateFacade = new OrderCreateFacade(orderCommissionCalculator)
void "should create order"() {
given:
def userId = 998
def paymentMethod = "CARD"
def price = 100
class OrderCreateFacade {
OrderCommissionCalculator orderCommissionCalculator
OrderCreateFacade(OrderCommissionCalculator orderCommissionCalculator) {
this.orderCommissionCalculator = orderCommissionCalculator
}
Order create(Long userId, String paymentMethod, BigDecimal price) {
return new Order().tap {
class OrderCommissionCalculatorTest extends Specification {
def orderCommissionCalculator = new OrderCommissionCalculator()
void "should calculate card payment order commission"() {
given: "card payment and price is 100"
def paymentType = "CARD"
def price = 100
when: "calculate card payment commission"
class OrderCommissionCalculatorTest extends Specification {
def orderCommissionCalculator = new OrderCommissionCalculator()
@Unroll
void "should calculate #paymentType order commission as #expectedAmount when price is #price"() {
expect:
expectedAmount == orderCommissionCalculator.calculate(paymentType, price)
where:
class OrderCommissionCalculatorTest extends Specification {
def orderCommissionCalculator = new OrderCommissionCalculator()
void "should calculate order commission amount"() {
expect:
expectedAmount == orderCommissionCalculator.calculate(paymentType, price)
where:
paymentType | price | expectedAmount
@AlicanAkkus
AlicanAkkus / bootstrap.yml
Created September 13, 2018 11:19
Spring Boot test property file
spring:
application:
name: my-api
profiles:
active: test
---
spring:
profiles: test
jpa: