public function testCancelValidationOrderID()
 {
     $request = new GetTransactionStatus($this->config);
     $validation = new Validation();
     $validation->getValidator($request);
     $data = $validation->performValidation();
     $this->assertValidationReturned('Upg\\Library\\Request\\GetTransactionStatus', 'orderID', 'orderID is required', $data, "orderID is required failed to trigger");
 }
 public function testCompanyTestValidationCompanyMemberResidenceValidation()
 {
     $companyMember = new CompanyMember();
     $companyMember->setContactData($this->getPerson())->setNationality('UK');
     $validation = new Validation();
     $validation->getValidator($companyMember);
     $data = $validation->performValidation();
     $this->assertValidationReturned('Upg\\Library\\Request\\Objects\\CompanyMember', 'residence', 'Residence is required', $data, "Residence is required validation failed to trigger");
 }
 public function testRegisterUserPaymentInstrumentValidationUserPaymentInstrument()
 {
     $request = new RegisterUserPaymentInstrument($this->config);
     $request->setUserID(1);
     $validation = new Validation();
     $validation->getValidator($request);
     $data = $validation->performValidation();
     $this->assertValidationReturned('Upg\\Library\\Request\\RegisterUserPaymentInstrument', 'paymentInstrument', 'paymentInstrument is required', $data, "paymentInstrument is required failed");
 }
 public function testRefundValidationpaymentInstrumentID()
 {
     $request = new DeleteUserPaymentInstrument($this->config);
     /**
      * Test required
      */
     $validation = new Validation();
     $validation->getValidator($request);
     $data = $validation->performValidation();
     $this->assertValidationReturned('Upg\\Library\\Request\\DeleteUserPaymentInstrument', 'paymentInstrumentID', 'paymentInstrumentID is required', $data, "paymentInstrumentID is required failed to trigger");
 }
Example #5
0
 public function testAmountTestValidationVatRateFailure()
 {
     $validation = new Validation();
     $amount = new Amount();
     $amount->setAmount(99);
     $amount->setVatRate("string");
     $validation->getValidator($amount);
     $data = $validation->performValidation();
     $expected = array('Upg\\Library\\Request\\Objects\\Amount' => array('vatRate' => array(0 => 'VatRate must be an number', 1 => 'VatRate must be 1 to 2 digits followed by 1 to 2 decimal place')));
     $this->assertEquals($expected, $data, 'Number validation not triggered the vatRate');
     $amount->setVatRate(78.254);
     $validation->getValidator($amount);
     $data = $validation->performValidation();
     $expected = array('Upg\\Library\\Request\\Objects\\Amount' => array('vatRate' => array(0 => 'VatRate must be 1 to 2 digits followed by 1 to 2 decimal place')));
     $this->assertEquals($expected, $data, 'Float validation not triggered the vatRate');
 }
Example #6
0
 public function testGetUserValidationUserID()
 {
     $request = new GetUser($this->config);
     $validation = new Validation();
     $validation->getValidator($request);
     $data = $validation->performValidation();
     /**
      *  Test required validation
      */
     $this->assertValidationReturned('Upg\\Library\\Request\\GetUser', 'userID', 'userID is required', $data, "userID is required validation failed");
     $request->setUserID($this->veryLongString);
     /**
      *  Test length
      */
     $validation->getValidator($request);
     $data = $validation->performValidation();
     $this->assertValidationReturned('Upg\\Library\\Request\\GetUser', 'userID', 'userID must be between 1 and 50 characters', $data, "userID must be between 1 and 50 characters failed");
 }
 public function testCaptureValidationCaptureID()
 {
     $request = new GetCaptureStatus($this->config);
     $request->setOrderID(1);
     $validation = new Validation();
     $validation->getValidator($request);
     $data = $validation->performValidation();
     /**
      * Test the captureID required validation
      */
     $this->assertValidationReturned('Upg\\Library\\Request\\GetCaptureStatus', 'captureID', 'captureID is required', $data, "captureID is required failed to trigger");
     /**
      * Test length
      */
     $request->setCaptureID($this->veryLongString);
     $validation->getValidator($request);
     $data = $validation->performValidation();
     $this->assertValidationReturned('Upg\\Library\\Request\\GetCaptureStatus', 'captureID', 'captureID must be between 1 and 30 characters', $data, "captureID must be between 1 and 30 characters failed to trigger");
 }
Example #8
0
 public function testCompanyTestValidationCompanyRegisterType()
 {
     $company = new Company();
     /**
      * Test successful validation
      */
     $company->setCompanyName($this->faker->name)->setCompanyRegistrationID("111")->setCompanyVatID("222")->setCompanyTaxID("333")->setCompanyRegisterType(Company::COMPANY_TYPE_FN);
     $validation = new Validation();
     $validation->getValidator($company);
     $data = $validation->performValidation();
     $this->assertEmpty($data, "Validation found an issue when there should be none");
     /**
      * Test unsuccessful company validation
      */
     $company->setCompanyRegisterType($this->faker->name);
     $validation->getValidator($company);
     $data = $validation->performValidation();
     $this->assertValidationReturned('Upg\\Library\\Request\\Objects\\Company', 'companyRegisterType', 'CompanyRegisterType must certain values or be empty', $data, "CompanyRegisterType must certain values or be empty validation did not trigger");
 }
 public function testPersonTestValidationLocale()
 {
     $hostedPagesText = new HostedPagesText();
     $hostedPagesText->setPaymentMethodType(HostedPagesText::PAYMENT_METHOD_TYPE_CC)->setFee(500)->setDescription("Some payment description")->setLocale('');
     $validation = new Validation();
     $validation->getValidator($hostedPagesText);
     $data = $validation->performValidation();
     $this->assertValidationReturned('Upg\\Library\\Request\\Objects\\HostedPagesText', 'locale', 'Locale is required', $data, "Locale is required did not trigger");
     $hostedPagesText->setLocale($this->faker->name);
     $validation->getValidator($hostedPagesText);
     $data = $validation->performValidation();
     $this->assertValidationReturned('Upg\\Library\\Request\\Objects\\HostedPagesText', 'locale', 'Locale must be certain values', $data, "Locale must be certain values did not trigger");
 }
Example #10
0
 public function testReserveValidationCvv()
 {
     $request = new Reserve($this->config);
     $request->setOrderID(12)->setPaymentMethod(Methods::PAYMENT_METHOD_TYPE_CC)->setPaymentInstrumentID(20)->setCcv(11111);
     $validation = new Validation();
     $validation->getValidator($request);
     $data = $validation->performValidation();
     $this->assertValidationReturned('Upg\\Library\\Request\\Reserve', 'cvv', 'cvv must be between 1 and 4 characters', $data, "cvv must be between 1 and 4 characters failed validation to trigger");
 }
Example #11
0
 public function testCustomValidation()
 {
     $validation = new Validation();
     $request = new CustomValidationRequest();
     $validation->getValidator($request);
     $data = $validation->performValidation();
     $expected = array('Upg\\Library\\Tests\\Mock\\Request\\CustomValidationRequest' => array('custom' => array(0 => 'Test Message')));
     $this->assertEquals($expected, $data, "Custom Validation not triggered");
 }
Example #12
0
 public function testCaptureValidationAmount()
 {
     $request = new Capture($this->config);
     $request->setOrderID(1)->setCaptureID(1);
     $validation = new Validation();
     $validation->getValidator($request);
     $data = $validation->performValidation();
     $this->assertValidationReturned('Upg\\Library\\Request\\Capture', 'amount', 'amount is required', $data, "amount is required failed to trigger");
 }
Example #13
0
 public function testAddressTestValidationStateFailure()
 {
     $validation = new Validation();
     $address = new Address();
     $address->setStreet("Test")->setNo(45)->setCity("foo")->setZip("LS12 4TN")->setCountry("GB");
     /**
      * Test Length validation
      */
     $address->setState($this->veryLongString);
     $validation->getValidator($address);
     $data = $validation->performValidation();
     $this->assertValidationReturned('Upg\\Library\\Request\\Objects\\Address', 'state', 'State must between 1 and 80 characters', $data, "State must between 1 and 80 characters failed");
 }
 public function testPaymentInstrumentTestValidationBic()
 {
     $validation = new Validation();
     $payment = new PaymentInstrument();
     $payment->setPaymentInstrumentType(PaymentInstrument::PAYMENT_INSTRUMENT_TYPE_BANK)->setAccountHolder($this->faker->name)->setIban("FI1350001540000056")->setBic('');
     /**
      * test required
      */
     $validation->getValidator($payment);
     $data = $validation->performValidation();
     $this->assertValidationReturned('Upg\\Library\\Request\\Objects\\PaymentInstrument', 'bic', 'For bank payments bic must be set', $data, "For bank payments bic must be set validation failed");
     /**
      * Format test
      */
     $payment->setBic($this->veryLongString);
     $validation->getValidator($payment);
     $data = $validation->performValidation();
     $this->assertValidationReturned('Upg\\Library\\Request\\Objects\\PaymentInstrument', 'bic', 'Bic must be 11 characters long and contain alphanumeric characters', $data, "Bic must be 11 characters long and contain alphanumeric characters validation failed");
 }
 public function testCreateTransactionValidationBasketlocale()
 {
     $validation = new Validation();
     $request = new CreateTransaction($this->config);
     $request->setOrderID(1)->setUserID(1)->setIntegrationType(CreateTransaction::INTEGRATION_TYPE_HOSTED_AFTER)->setAutoCapture(true)->setContext(CreateTransaction::CONTEXT_ONLINE)->setMerchantReference("TEST")->setUserType(CreateTransaction::USER_TYPE_PRIVATE)->setUserRiskClass(RiskClass::RISK_CLASS_DEFAULT)->setUserIpAddress("192.168.1.2")->setUserData($this->getUser())->setBillingAddress($this->getAddress())->setAmount($this->getAmount())->addBasketItem($this->getBasketItem());
     /**
      * Test required
      */
     $validation->getValidator($request);
     $data = $validation->performValidation();
     $this->assertValidationReturned('Upg\\Library\\Request\\CreateTransaction', 'locale', 'locale must be set for the transaction', $data, "locale must be set for the transaction failed");
     /**
      * Test set values validation
      */
     $request->setLocale($this->faker->name);
     $validation->getValidator($request);
     $data = $validation->performValidation();
     $this->assertValidationReturned('Upg\\Library\\Request\\CreateTransaction', 'locale', 'locale must be certain values', $data, "locale must be certain values failed");
 }
 public function testUpdateTransactionValidationTrackingID()
 {
     $request = new UpdateTransaction($this->config);
     $request->setOrderID(1)->setCaptureID(1)->setInvoiceNumber(1)->setInvoiceDate(new \DateTime())->setOriginalInvoiceAmount($this->getAmount())->setDueDate(new \DateTime())->setInvoicePDF($this->getFile())->setShippingDate(new \DateTime())->setTrackingID($this->veryLongString);
     $validation = new Validation();
     $validation->getValidator($request);
     $data = $validation->performValidation();
     /**
      * Test length
      */
     $this->assertValidationReturned('Upg\\Library\\Request\\UpdateTransaction', 'trackingID', 'trackingID must be between 1 and 50 characters', $data, "trackingID must be between 1 and 50 characters validation failed to trigger");
 }
Example #17
0
 public function testPersonTestValidationFaxNumberFailure()
 {
     $validation = new Validation();
     /**
      * Test length
      */
     $person = new Person();
     $person->setSalutation(PERSON::SALUTATIONFEMALE)->setName($this->faker->name)->setSurname($this->faker->name)->setEmail($this->faker->email)->setDateOfBirth(new \DateTime())->setFaxNumber('1234567890123456789012345678901234567890111');
     $validation->getValidator($person);
     $data = $validation->performValidation();
     $this->assertValidationReturned('Upg\\Library\\Request\\Objects\\Person', 'faxNumber', 'Fax Number must be less than 30 characters', $data, "Fax Number must be less than 30 characters validation failed");
 }
Example #18
0
 public function testRefundValidationRefundDescription()
 {
     $request = new Refund($this->config);
     $request->setOrderID(1)->setCaptureID(1)->setAmount($this->getAmount());
     $validation = new Validation();
     $validation->getValidator($request);
     $data = $validation->performValidation();
     $this->assertValidationReturned('Upg\\Library\\Request\\Refund', 'refundDescription', 'refundDescription is required', $data, "refundDescription is required failed to trigger");
     /**
      * Length test
      */
     $request->setRefundDescription($this->veryLongString);
     $validation->getValidator($request);
     $data = $validation->performValidation();
     $this->assertValidationReturned('Upg\\Library\\Request\\Refund', 'refundDescription', 'refundDescription must be between 1 and 256 characters', $data, "refundDescription must be between 1 and 256 characters failed to trigger");
 }
Example #19
0
 public function testRegisterUserValidationLocale()
 {
     $request = new RegisterUser($this->config);
     $request->setUserId(11)->setUserType(\Upg\Library\User\Type::USER_TYPE_PRIVATE)->setUserRiskClass(RiskClass::RISK_CLASS_DEFAULT)->setUserData($this->getUser())->setBillingRecipient($this->faker->name)->setBillingAddress($this->getAddress())->setShippingRecipient($this->faker->name)->setShippingAddress($this->getAddress());
     /**
      * Test required
      */
     $validation = new Validation();
     $validation->getValidator($request);
     $data = $validation->performValidation();
     $this->assertValidationReturned('Upg\\Library\\Request\\RegisterUser', 'locale', 'locale must be set for the request', $data, "locale must be set for the request failed");
     /**
      * Test values validation
      */
     $request->setLocale($this->faker->name);
     $validation = new Validation();
     $validation->getValidator($request);
     $data = $validation->performValidation();
     $this->assertValidationReturned('Upg\\Library\\Request\\RegisterUser', 'locale', 'locale must be certain values', $data, "locale must be certain values failed");
 }
Example #20
0
 public function testBasketItemValidationCompanyRegisterType()
 {
     $basketItem = new BasketItem();
     $basketItem->setBasketItemText($this->faker->name)->setBasketItemID('1')->setBasketItemAmount($this->getBasketItemAmount())->setBasketItemCount(1)->setBasketItemRiskClass('FOO');
     $test = get_class($this);
     $validation = new Validation();
     $validation->getValidator($basketItem);
     $data = $validation->performValidation();
     $this->assertValidationReturned('Upg\\Library\\Request\\Objects\\BasketItem', 'basketItemRiskClass', 'basketItemRiskClass must certain values or be empty', $data, "basketItemRiskClass must certain values or be empty did not trigger");
 }
Example #21
0
 /**
  * Validate child objects in the request
  *
  * @param RequestInterface $request
  * @return array
  */
 private function validateChild(RequestInterface $request)
 {
     $validationWrapper = new Validation();
     $validationWrapper->getValidator($request);
     return $validationWrapper->performValidation();
 }