/** * @expectedException Svea\ValidationException * @expectedExceptionMessage -missing value : rowNumber is required */ public function test_add_single_orderRow_missing_rownumber() { $config = Svea\SveaConfig::getDefaultConfig(); $request = WebPayAdmin::updateOrderRows($config)->setCountryCode('SE')->setOrderId('test')->updateOrderRow(WebPayItem::numberedOrderRow()->setAmountExVat(99.98999999999999)->setAmountIncVat(123.9876)->setQuantity(1))->updateInvoiceOrderRows()->prepareRequest(); // print_r($request); }
public function test_add_single_orderRow_type_mismatch_created_inc_updated_ex() { $config = Svea\SveaConfig::getDefaultConfig(); $orderResponse = WebPay::createOrder($config)->addOrderRow(WebPayItem::orderRow()->setAmountIncVat(123.9876)->setVatPercent(24)->setQuantity(1))->addCustomerDetails(TestUtil::createIndividualCustomer("SE"))->setCountryCode("SE")->setCurrency("SEK")->setOrderDate("2012-12-12")->useInvoicePayment()->doRequest(); $this->assertEquals(1, $orderResponse->accepted); // query order and assert row totals $query = WebPayAdmin::queryOrder($config)->setOrderId($orderResponse->sveaOrderId)->setCountryCode('SE')->queryInvoiceOrder()->doRequest(); $this->assertEquals(1, $query->accepted); $this->assertEquals("123.99", $query->numberedOrderRows[0]->amountIncVat); // sent 123.9876 inc => 123.99 queried $this->assertEquals("24", $query->numberedOrderRows[0]->vatPercent); $response = WebPayAdmin::updateOrderRows($config)->setCountryCode('SE')->setOrderId($orderResponse->sveaOrderId)->updateOrderRow(WebPayItem::numberedOrderRow()->setRowNumber(1)->setAmountExVat(99.98999999999999)->setVatPercent(24)->setQuantity(1))->updateInvoiceOrderRows()->doRequest(); $this->assertEquals(1, $response->accepted); // query order and assert row totals $query2 = WebPayAdmin::queryOrder($config)->setOrderId($orderResponse->sveaOrderId)->setCountryCode('SE')->queryInvoiceOrder()->doRequest(); $this->assertEquals(1, $query2->accepted); $this->assertEquals("123.99", $query2->numberedOrderRows[0]->amountIncVat); // sent 99.99 ex * 1.24 => sent 123.9876 inc => 123.99 queried $this->assertEquals("24", $query2->numberedOrderRows[0]->vatPercent); //print_r($orderResponse->sveaOrderId); }
function _test_UpdateOrderRows_manually_created_paymentplan() { $country = "SE"; // // create order // $order = TestUtil::createOrderWithoutOrderRows( TestUtil::createIndividualCustomer($country) ); // $order->addOrderRow( WebPayItem::orderRow() // ->setArticleNumber("1") // ->setQuantity( 1 ) // ->setAmountExVat( 1000.00 ) // ->setVatPercent(25) // ->setDescription("A Specification") // ->setName('A Name') // ->setUnit("st") // ->setDiscountPercent(0) // ); // $order->addOrderRow( WebPayItem::orderRow() // ->setArticleNumber("2") // ->setQuantity( 1 ) // ->setAmountExVat( 2000.00 ) // ->setVatPercent(25) // ->setDescription("B Specification") // ->setName('B Name') // ->setUnit("st") // ->setDiscountPercent(0) // ); // $order->addOrderRow( WebPayItem::orderRow() // ->setArticleNumber("3") // ->setQuantity( 1 ) // ->setAmountExVat( 3000.00 ) // ->setVatPercent(25) // ->setDescription("C Specification") // ->setName('C Name') // ->setUnit("st") // ->setDiscountPercent(0) // ); // $orderResponse = $order->usePaymentPlanPayment( TestUtil::getGetPaymentPlanParamsForTesting() )->doRequest(); // $this->assertEquals(1, $orderResponse->accepted); // update all attributes for a numbered orderRow $updateOrderRowsResponse = WebPayAdmin::updateOrderRows(Svea\SveaConfig::getDefaultConfig())->setOrderId(364183)->setCountryCode($country)->updateOrderRow(WebPayItem::numberedOrderRow()->setArticleNumber("10")->setQuantity(1)->setAmountExVat(1000.0)->setVatPercent(25)->setDescription("K Specification")->setName('K Name')->setUnit("st")->setDiscountPercent(1)->setRowNumber(1)->setStatus(Svea\NumberedOrderRow::ORDERROWSTATUS_NOTDELIVERED))->updatePaymentPlanOrderRows()->doRequest(); //print_r( $updateOrderRowsResponse ); ////print_r("test_UpdateOrderRows_updateInvoiceOrderRows_single_row_success: "); //print_r( $orderResponse->sveaOrderId ); $this->assertEquals(1, $updateOrderRowsResponse->accepted); // todo query result & check amounts, description automatically }
public function test_updateOrderRows_updatePaymentPlanOrderRows_allows_orderRow_with_zero_amount() { $dummyorderid = 123456; $orderBuilder = WebPayAdmin::updateOrderRows(Svea\SveaConfig::getDefaultConfig())->setOrderId($dummyorderid)->setCountryCode("SE")->updateOrderRow(WebPayItem::numberedOrderRow()->setAmountExVat(0.0)->setVatPercent(0)->setQuantity(0)->setRowNumber(1)); try { $request = $orderBuilder->updatePaymentPlanOrderRows()->prepareRequest(); } catch (Exception $e) { // fail on validation error $this->fail("Unexpected validation exception: " . $e->getMessage()); } }