/** * Generated by API Builder - https://www.apibuilder.io * Service version: 0.0.2 * User agent: apibuilder app.apibuilder.io/hbc/api-fraud/0.0.2/scalacheck */ package com.hbc.api.fraud.v0.models.scalacheck import org.scalacheck.{Arbitrary, Gen} object ApiFraudScalaCheck extends ApiFraudScalaCheck { implicit def arbitraryJodaDateTime: Arbitrary[_root_.org.joda.time.DateTime] = Arbitrary(genJodaDateTime) def genJodaDateTime: Gen[_root_.org.joda.time.DateTime] = Gen.posNum[Long].map(instant => new _root_.org.joda.time.DateTime(instant)) implicit def arbitraryPlayJsObject: Arbitrary[_root_.play.api.libs.json.JsObject] = Arbitrary(genPlayJsObject) def genPlayJsObject: Gen[_root_.play.api.libs.json.JsObject] = Gen.const(_root_.play.api.libs.json.JsObject.empty) } trait ApiFraudScalaCheck { implicit def arbitraryJodaDateTime: Arbitrary[_root_.org.joda.time.DateTime] implicit def arbitraryPlayJsObject: Arbitrary[_root_.play.api.libs.json.JsObject] implicit def arbitraryAdditionalData: Arbitrary[com.hbc.api.fraud.v0.models.AdditionalData] = Arbitrary(genAdditionalData) def genAdditionalData: Gen[com.hbc.api.fraud.v0.models.AdditionalData] = for { inAuthId <- Arbitrary.arbitrary[_root_.java.util.UUID] } yield com.hbc.api.fraud.v0.models.AdditionalData(inAuthId) implicit def arbitraryAddress: Arbitrary[com.hbc.api.fraud.v0.models.Address] = Arbitrary(genAddress) def genAddress: Gen[com.hbc.api.fraud.v0.models.Address] = for { name <- Arbitrary.arbitrary[String] streetLineOne <- Arbitrary.arbitrary[String] streetLineTwo <- Arbitrary.arbitrary[_root_.scala.Option[String]] city <- Arbitrary.arbitrary[String] state <- Arbitrary.arbitrary[String] zip <- Arbitrary.arbitrary[String] country <- Arbitrary.arbitrary[String] } yield com.hbc.api.fraud.v0.models.Address(name, streetLineOne, streetLineTwo, city, state, zip, country) implicit def arbitraryCreditCard: Arbitrary[com.hbc.api.fraud.v0.models.CreditCard] = Arbitrary(genCreditCard) def genCreditCard: Gen[com.hbc.api.fraud.v0.models.CreditCard] = for { nameOnCard <- Arbitrary.arbitrary[String] billingAddress <- Arbitrary.arbitrary[com.hbc.api.fraud.v0.models.Address] cardType <- Arbitrary.arbitrary[String] cardNumber <- Arbitrary.arbitrary[String] authorizedAmount <- Arbitrary.arbitrary[BigDecimal] fullAmount <- Arbitrary.arbitrary[BigDecimal] expiryDate <- Arbitrary.arbitrary[String] authCode <- Arbitrary.arbitrary[String] responseCode <- Arbitrary.arbitrary[Int] merchantId <- Arbitrary.arbitrary[_root_.scala.Option[Int]] registerNumber <- Arbitrary.arbitrary[_root_.scala.Option[String]] transactionNumber <- Arbitrary.arbitrary[String] avsResponse <- Arbitrary.arbitrary[String] } yield com.hbc.api.fraud.v0.models.CreditCard( nameOnCard, billingAddress, cardType, cardNumber, authorizedAmount, fullAmount, expiryDate, authCode, responseCode, merchantId, registerNumber, transactionNumber, avsResponse ) implicit def arbitraryCustomer: Arbitrary[com.hbc.api.fraud.v0.models.Customer] = Arbitrary(genCustomer) def genCustomer: Gen[com.hbc.api.fraud.v0.models.Customer] = for { customerType <- Arbitrary.arbitrary[com.hbc.api.fraud.v0.models.CustomerType] accountId <- Arbitrary.arbitrary[String] creationDate <- Arbitrary.arbitrary[_root_.org.joda.time.LocalDate] firstName <- Arbitrary.arbitrary[String] lastName <- Arbitrary.arbitrary[String] emailAddress <- Arbitrary.arbitrary[String] } yield com.hbc.api.fraud.v0.models .Customer(customerType, accountId, creationDate, firstName, lastName, emailAddress) implicit def arbitraryDBRecord: Arbitrary[com.hbc.api.fraud.v0.models.DBRecord] = Arbitrary(genDBRecord) def genDBRecord: Gen[com.hbc.api.fraud.v0.models.DBRecord] = for { transactionId <- Arbitrary.arbitrary[String] lastModifiedDate <- Arbitrary.arbitrary[_root_.scala.Option[_root_.org.joda.time.LocalDate]] createdDate <- Arbitrary.arbitrary[_root_.scala.Option[_root_.org.joda.time.LocalDate]] transaction <- Arbitrary.arbitrary[com.hbc.api.fraud.v0.models.Transaction] decision <- Arbitrary.arbitrary[com.hbc.api.fraud.v0.models.Decision] } yield com.hbc.api.fraud.v0.models.DBRecord(transactionId, lastModifiedDate, createdDate, transaction, decision) implicit def arbitraryDecision: Arbitrary[com.hbc.api.fraud.v0.models.Decision] = Arbitrary(genDecision) def genDecision: Gen[com.hbc.api.fraud.v0.models.Decision] = for { transactionId <- Arbitrary.arbitrary[String] recommendationCode <- Arbitrary.arbitrary[com.hbc.api.fraud.v0.models.RecommendationCode] crossReference <- Arbitrary.arbitrary[_root_.scala.Option[_root_.java.util.UUID]] rulesTripped <- Arbitrary.arbitrary[_root_.scala.Option[String]] totalScore <- Arbitrary.arbitrary[Int] remarks <- Arbitrary.arbitrary[_root_.scala.Option[String]] } yield com.hbc.api.fraud.v0.models .Decision(transactionId, recommendationCode, crossReference, rulesTripped, totalScore, remarks) implicit def arbitraryError: Arbitrary[com.hbc.api.fraud.v0.models.Error] = Arbitrary(genError) def genError: Gen[com.hbc.api.fraud.v0.models.Error] = for { message <- Arbitrary.arbitrary[String] error <- Arbitrary.arbitrary[String] } yield com.hbc.api.fraud.v0.models.Error(message, error) implicit def arbitraryItem: Arbitrary[com.hbc.api.fraud.v0.models.Item] = Arbitrary(genItem) def genItem: Gen[com.hbc.api.fraud.v0.models.Item] = for { svsNumber <- Arbitrary.arbitrary[Int] skuNumber <- Arbitrary.arbitrary[Int] upcNumber <- Arbitrary.arbitrary[_root_.scala.Option[Int]] classNumber <- Arbitrary.arbitrary[_root_.scala.Option[Int]] color <- Arbitrary.arbitrary[_root_.scala.Option[String]] size <- Arbitrary.arbitrary[_root_.scala.Option[String]] currentStatus <- Arbitrary.arbitrary[String] department <- Arbitrary.arbitrary[Int] signOnDelivery <- Arbitrary.arbitrary[_root_.scala.Option[String]] giftWrapped <- Arbitrary.arbitrary[_root_.scala.Option[Boolean]] costAmount <- Arbitrary.arbitrary[_root_.scala.Option[BigDecimal]] marginAmount <- Arbitrary.arbitrary[_root_.scala.Option[BigDecimal]] description <- Arbitrary.arbitrary[String] price <- Arbitrary.arbitrary[BigDecimal] extendedPrice <- Arbitrary.arbitrary[BigDecimal] quantity <- Arbitrary.arbitrary[Int] groupNumber <- Arbitrary.arbitrary[Int] shippingAddress <- Arbitrary.arbitrary[com.hbc.api.fraud.v0.models.Address] shippingMethod <- Arbitrary.arbitrary[String] shippingCountry <- Arbitrary.arbitrary[String] } yield com.hbc.api.fraud.v0.models.Item( svsNumber, skuNumber, upcNumber, classNumber, color, size, currentStatus, department, signOnDelivery, giftWrapped, costAmount, marginAmount, description, price, extendedPrice, quantity, groupNumber, shippingAddress, shippingMethod, shippingCountry ) implicit def arbitraryPromo: Arbitrary[com.hbc.api.fraud.v0.models.Promo] = Arbitrary(genPromo) def genPromo: Gen[com.hbc.api.fraud.v0.models.Promo] = for { promotionCode <- Arbitrary.arbitrary[String] promotionAmount <- Arbitrary.arbitrary[BigDecimal] } yield com.hbc.api.fraud.v0.models.Promo(promotionCode, promotionAmount) implicit def arbitraryTransaction: Arbitrary[com.hbc.api.fraud.v0.models.Transaction] = Arbitrary(genTransaction) def genTransaction: Gen[com.hbc.api.fraud.v0.models.Transaction] = for { orderId <- Arbitrary.arbitrary[String] groupId <- Arbitrary.arbitrary[String] orderTotal <- Arbitrary.arbitrary[BigDecimal] shippingCost <- Arbitrary.arbitrary[BigDecimal] currencyCode <- Arbitrary.arbitrary[String] storeNumber <- Arbitrary.arbitrary[Int] salesRep <- Arbitrary.arbitrary[_root_.scala.Option[String]] lastModifiedDate <- Arbitrary.arbitrary[_root_.scala.Option[_root_.org.joda.time.LocalDate]] banner <- Arbitrary.arbitrary[com.hbc.api.fraud.v0.models.Banner] creditCard <- Arbitrary.arbitrary[com.hbc.api.fraud.v0.models.CreditCard] promos <- Arbitrary.arbitrary[_root_.scala.Option[Seq[com.hbc.api.fraud.v0.models.Promo]]] items <- Arbitrary.arbitrary[Seq[com.hbc.api.fraud.v0.models.Item]] ipAddress <- Arbitrary.arbitrary[_root_.scala.Option[String]] source <- Arbitrary.arbitrary[String] customer <- Arbitrary.arbitrary[com.hbc.api.fraud.v0.models.Customer] additionalData <- Arbitrary.arbitrary[_root_.scala.Option[com.hbc.api.fraud.v0.models.AdditionalData]] } yield com.hbc.api.fraud.v0.models.Transaction( orderId, groupId, orderTotal, shippingCost, currencyCode, storeNumber, salesRep, lastModifiedDate, banner, creditCard, promos, items, ipAddress, source, customer, additionalData ) implicit def arbitraryBanner: Arbitrary[com.hbc.api.fraud.v0.models.Banner] = Arbitrary(genBanner) def genBanner: Gen[com.hbc.api.fraud.v0.models.Banner] = Gen.oneOf( com.hbc.api.fraud.v0.models.Banner.Lat, com.hbc.api.fraud.v0.models.Banner.S5a, com.hbc.api.fraud.v0.models.Banner.O5a, com.hbc.api.fraud.v0.models.Banner.Bay ) implicit def arbitraryCustomerType: Arbitrary[com.hbc.api.fraud.v0.models.CustomerType] = Arbitrary(genCustomerType) def genCustomerType: Gen[com.hbc.api.fraud.v0.models.CustomerType] = Gen.oneOf( com.hbc.api.fraud.v0.models.CustomerType.Guest, com.hbc.api.fraud.v0.models.CustomerType.Registered, com.hbc.api.fraud.v0.models.CustomerType.Employee ) implicit def arbitraryRecommendationCode: Arbitrary[com.hbc.api.fraud.v0.models.RecommendationCode] = Arbitrary(genRecommendationCode) def genRecommendationCode: Gen[com.hbc.api.fraud.v0.models.RecommendationCode] = Gen.oneOf( com.hbc.api.fraud.v0.models.RecommendationCode.Reject, com.hbc.api.fraud.v0.models.RecommendationCode.Review, com.hbc.api.fraud.v0.models.RecommendationCode.Accept ) }