This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def product = mockProduct("sky", "name", "BranName", 120d, 90d, ["http://theiconic.com.au/someImage.jpg","http://theiconic.com.au/someOtherImage.jpg"]) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CatalogProductEntity mockProduct(String sku, String name, String brand, Double price, Double specialPrice, List<String> imageUrls){ | |
return Mock(CatalogProductEntity) { | |
it.getSku() >> sku | |
it.getName() >> name | |
it.getBrand() >> Mock(BrandEntity){ | |
it.getName() >> brand | |
} | |
it.getPrice() >> price | |
it.getSpecialPrice() >> specialPrice | |
it.getImages() >> imageUrls.collect{ url-> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private CatalogProductEntity mockProduct(String sku, String name, String brandName, Double price, Double specialPrice, List<String> imageUrls){ | |
BrandEntity brand = mock(BrandEntity.class); | |
when(brand.getName()).thenReturn(brandName); | |
ArrayList<ImageEntity> images = new ArrayList<>(); | |
for(String imageUrl : imageUrls){ | |
ImageEntity imageEntity = mock(ImageEntity.class); | |
when(imageEntity.getUrl()).thenReturn(imageUrl); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.theiconic.spockexamples.bag.domain.usecases; | |
import com.theiconic.spockexamples.bag.domain.repositories.BagRepository; | |
import com.theiconic.spockexamples.bag.domain.usecases.RemoveProductFromBagUseCase; | |
import com.theiconic.spockexamples.common.entities.BrandEntity; | |
import com.theiconic.spockexamples.common.entities.ImageEntity; | |
import com.theiconic.spockexamples.shop.entities.CatalogProductEntity; | |
import com.theiconic.spockexamples.shop.entities.CategoryEntity; | |
import org.junit.Before; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1 * useCase.repository.removeItem(simpleSku) >> Observable.just(out); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.theiconic.spockexamples.bag.domain.usecases; | |
import com.theiconic.spockexamples.common.domain.usecases.ObservableUseCase; | |
import com.theiconic.spockexamples.bag.domain.repositories.BagRepository; | |
import javax.inject.Inject; | |
import rx.Observable; | |
public class RemoveProductFromBagUseCase implements ObservableUseCase<String, Boolean> { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.theiconic.spockexamples.bag.domain.usecases | |
import com.theiconic.spockexamples.bag.domain.repositories.BagRepository | |
import com.theiconic.spockexamples.bag.domain.usecases.RemoveProductFromBagUseCase | |
import rx.Observable | |
import rx.observers.TestSubscriber | |
import spock.lang.Specification | |
class RemoveProductFromBagUseCaseSpec extends Specification{ | |
protected RemoveProductFromBagUseCase useCase; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.theiconic.spockexamples.common.domain.usecases | |
import com.theiconic.spockexamples.common.domain.usecases.ValidateEmailUseCase | |
import spock.lang.Specification | |
import spock.lang.Unroll | |
class ValidEmailUseCaseSpec extends Specification { | |
ValidateEmailUseCase useCase; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.theiconic.spockexamples.common.domain.usecases; | |
import java.util.regex.Matcher; | |
import java.util.regex.Pattern; | |
import javax.inject.Inject; | |
public class ValidateEmailUseCase implements UseCase<String,Boolean> { | |
private static final Pattern VALID_EMAIL_ADDRESS_REGEX = | |
Pattern.compile("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,6}$", Pattern.CASE_INSENSITIVE); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.theiconic.spockexamples | |
import spock.lang.Specification | |
class SimpleAdditionSpec extends Specification { | |
def 'addition'() { | |
given: 'two integers' | |
def a = 1 | |
def b = 2 |