/** * @test */ public function shouldCorrectlyConvertCreditCard() { $creditCard = new CreditCard(); $creditCard->setNumber('4111111111111111'); $creditCard->setExpireAt(new \DateTime('2018-05-12')); $creditCard->setSecurityCode(123); $creditCard->setHolder('John Doe'); $order = new Payment(); $order->setCreditCard($creditCard); $action = new ConvertPaymentAction(); $action->execute($convert = new Convert($order, 'array')); $details = $convert->getResult(); $this->assertNotEmpty($details); $this->assertArrayHasKey('card', $details); $this->assertInstanceOf('Payum\\Core\\Security\\SensitiveValue', $details['card']); $card = $details['card']->peek(); $this->assertInternalType('array', $card); $this->assertArrayHasKey('number', $card); $this->assertEquals('4111111111111111', $card['number']); $this->assertArrayHasKey('exp_month', $card); $this->assertEquals('05', $card['exp_month']); $this->assertArrayHasKey('exp_year', $card); $this->assertEquals('2018', $card['exp_year']); $this->assertArrayHasKey('cvc', $card); $this->assertEquals('123', $card['cvc']); }
/** * @test */ public function shouldCorrectlyConvertCreditCardToken() { $creditCard = new CreditCard(); $creditCard->setToken('theCustomerId'); $order = new Payment(); $order->setCreditCard($creditCard); $action = new ConvertPaymentAction(); $action->execute($convert = new Convert($order, 'array')); $details = $convert->getResult(); $this->assertNotEmpty($details); $this->assertArrayHasKey('customer', $details); $this->assertEquals('theCustomerId', $details['customer']); }