public function testEpdqItems() { // epdq item implementation test using \Omnipay\BarclaysEpdq\Item $item = new BarclaysEpdqItem(); $item->setName('Article 1'); $item->setDescription('Lifetime subscription'); $item->setPrice(99.98); $item->setQuantity(15); $item->setId('IS56302'); $item->setComments('We be delivered in time after validation.'); $item->setCategory('Discounted Items'); $item->setAttributes('{heavy:no,virtual:yes}'); $item->setUnitOfMeasure('years'); $item->setDiscount(0.02); $item->setWeight(0.1); $item->setVat(12.3); $item->setVatCode(5.63); $item->setFraudModuleCategory('FX523R'); $item->setMaximumQuantity(1.0); $bag = new ItemBag(array($item)); $this->request->setItems($bag); $data = $this->request->getData(); foreach ($bag->all() as $key => $value) { /** @var BarclaysEpdqItem $value */ $index = $key + 1; $this->assertSame($data["ITEMNAME{$index}"], $value->getName()); $this->assertSame($data["ITEMDESC{$index}"], $value->getDescription()); $this->assertSame($data["ITEMQUANT{$index}"], $value->getQuantity()); $this->assertSame($data["ITEMPRICE{$index}"], $this->request->formatCurrency($value->getPrice())); $this->assertSame($data["ITEMID{$index}"], $item->getId()); $this->assertSame($data["ITEMCOMMENTS{$index}"], $item->getComments()); $this->assertSame($data["ITEMCATEGORY{$index}"], $item->getCategory()); $this->assertSame($data["ITEMATTRIBUTES{$index}"], $item->getAttributes()); $this->assertSame($data["ITEMUNITOFMEASURE{$index}"], $item->getUnitOfMeasure()); $this->assertSame($data["ITEMDISCOUNT{$index}"], $this->request->formatCurrency($item->getDiscount())); $this->assertSame($data["ITEMWEIGHT{$index}"], $item->getWeight()); $this->assertSame($data["ITEMVAT{$index}"], $this->request->formatCurrency($item->getVat())); $this->assertSame($data["ITEMVATCODE{$index}"], $item->getVatCode()); $this->assertSame($data["ITEMFDMPRODUCTCATEG{$index}"], $item->getFraudModuleCategory()); $this->assertSame($data["ITEMQUANTORIG{$index}"], $item->getMaximumQuantity()); } }