/** * @test */ public function setSubscriptionCodeShouldConfigureTheSubscriptionCode() { $charge = new Charge(); $charge->setSubscriptionCode('SomeSubscription'); $this->assertAttributeEquals('SomeSubscription', 'subscriptionCode', $charge); $this->assertEquals('SomeSubscription', $charge->getSubscriptionCode()); }
/** * @param Charge $charge * @return SimpleXMLElement */ public function serialize(Charge $charge) { $request = simplexml_load_string('<?xml version="1.0" encoding="UTF-8"?><payment />'); $request->addChild('preApprovalCode', $charge->getSubscriptionCode()); $items = $request->addChild('items'); foreach ($charge->getItems() as $item) { $this->appendItem($items, $item); } if ($reference = $charge->getReference()) { $request->addChild('reference', $reference); } return $request; }
public function testSerializeShouldXMLFull() { $items = new Items(); $items->add(new Item(99, 'Produto 03', 1.77, 8, 12.9, 360)); $items->add(new Item(97, 'Produto 04', 43.67, 3, 134.98, 1100)); $charge = new Charge($items); $charge->setSubscriptionCode(4556788); $charge->setReference('abcdef'); $serializer = new ChargeSerializer(); $xml = $serializer->serialize($charge); $this->assertInstanceOf(SimpleXMLElement::class, $xml); $expected = simplexml_load_file(__DIR__ . '/xml/chargeFull.xml'); $this->assertEquals($expected, $xml); }
/** * {@inheritdoc} */ public function setReference($reference) { $this->charge->setReference($reference); return $this; }