public function testOrderProcessingWithTax()
{
$Shippings = array();
$Shippings[] = $this->createShipping($this->Product->getProductClasses()->toArray());
$Shippings[] = $this->createShipping($this->Product->getProductClasses()->toArray());
$Customer = $this->createCustomer();
$Order = $this->createOrder($Customer);
$formData = $this->createFormDataForMultiple($Customer, $Shippings);
// 管理画面から受注登録
$this->client->request('POST', $this->app->url('admin_order_edit', array('id' => $Order->getId())), array('order' => $formData, 'mode' => 'register'));
$this->assertTrue($this->client->getResponse()->isRedirect($this->app->url('admin_order_edit', array('id' => $Order->getId()))));
$EditedOrder = $this->app['eccube.repository.order']->find($Order->getId());
$formDataForEdit = $this->createFormDataForEdit($EditedOrder);
//税金計算
$totalTax = 0;
foreach ($formDataForEdit['OrderDetails'] as $indx => $orderDetail) {
//商品数変更3個追加
$formDataForEdit['OrderDetails'][$indx]['quantity'] = $orderDetail['quantity'] + 3;
$tax = (int) $this->app['eccube.service.tax_rule']->calcTax($orderDetail['price'], $orderDetail['tax_rate'], $orderDetail['tax_rule']);
$totalTax += $tax * $formDataForEdit['OrderDetails'][$indx]['quantity'];
}
// 管理画面で受注編集する
$this->client->request('POST', $this->app->url('admin_order_edit', array('id' => $Order->getId())), array('order' => $formDataForEdit, 'mode' => 'register'));
$EditedOrderafterEdit = $this->app['eccube.repository.order']->find($Order->getId());
//確認する「トータル税金」
$this->expected = $totalTax;
$this->actual = $EditedOrderafterEdit->getTax();
$this->verify();
}