public function testMethodProcessSuccessWithPurchaseByToken() { $expectedResponse = '{"return_url": "http://somerul.com"}'; $mockedHttpConnector = $this->getMockBuilder('PayComponent\\HttpConnector')->setMethods(array('send', 'getResponse', 'requestSucceded', 'setMethod', 'setUrl', 'setData'))->getMock(); $mockedHttpConnector->expects($this->any())->method('send')->willReturn(true); $mockedHttpConnector->expects($this->any())->method('requestSucceded')->willReturn(true); $mockedHttpConnector->expects($this->any())->method('getResponse')->willReturn($expectedResponse); $payment = new PaymentToken(); $this->paymentData['token'] = 'weijwr0329esofk'; $payment->setData($this->paymentData); $requester = new Requester($mockedHttpConnector); $requester->setPayment($payment); $this->assertTrue($requester->process()); $this->assertNull($requester->getError()); $this->assertEquals('http://somerul.com', $payment->getReturnURL()); }
/** * Método auxiliar na validação dos campos * $field = Caso recebido, indica teste de emptyFields * $expectedError = Utilizado quando um campo influencia em validações de outro campo. * Ex: Issuer, que influencia no teste do campo 'payment_type' */ private function validateFields($field = null, $expectedError = null) { // Caso for uma validação de emptyFields, utiliza mensagem padrão de erros if ($expectedError == null) { $expectedError = array("{$field}" => "Invalid {$field}."); } // Caso campo for passado de parâmetro, indica teste emptyField if ($field != null) { $this->data[$field] = null; } $pay = new PaymentToken(); $pay->setAuthToken('any'); $pay->setData($this->data); $this->assertFalse($pay->validate()); $this->assertEquals($expectedError, $pay->getErrors()); }