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'); }
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 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 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 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"); }
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"); }
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 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 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"); }
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"); }
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"); }
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"); }
/** * 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(); }
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 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"); }
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"); }
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"); }
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"); }
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 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"); }