ShoppingControllerWithMultipleTest extends AbstractShoppingControllerTestCase
複数配送指定のテストケース.
Todo list:
- testCompleteWithLogin
- multi shipping with 1 item, 1 address => one shipping
- multi shipping with 1 item 2 quantity, 1 address => one shipping
- multi shipping with 2 item 2 quantity, 1 address => one shipping
- multi shipping with 2 item (first item quantities is 1, next item quantities is 2), 2 address => two shipping
- multi shipping with 2 item (each item quantities is 2), 2 address => two shipping
- multi shipping with 3 item, 1 address => one shipping
- multi shipping with 3 item, 2 address => two shipping
- multi shipping with 3 item, 3 address => three shipping
- multi shipping with cart unlock => redirect to cart
- multi shipping add with cart unlock => redirect to cart
- multi shipping without cart item => redirect to cart
- multi shipping with total quantity of product are not equal => reload with error message: 数量の数が異なっています
- multi shipping with orders have shipped earlier. => redirect to shopping
Tags
Table of Contents
$baseInfoRepository | BaseInfoRepository | |
---|---|---|
$orderRepository | OrderRepository | |
$orderStatusRepository | OrderStatusRepository | |
$actual | ||
$expected | ||
$client | Client | |
$container | ContainerInterface | |
$entityManager | EntityManagerInterface | |
$eccubeConfig | EccubeConfig | |
setUp() | Client を生成しトランザクションを開始する. | mixed |
tearDown() | tearDown: rollback and clear mail | mixed |
testCompleteWithLogin() | カート→購入確認画面→複数配送設定画面→購入確認画面→完了画面 | mixed |
testDisplayCustomerAddress() | mixed | |
testAddMultiShippingOneAddressOneItem() | Test add multi shipping | mixed |
testAddMultiShippingOneAddressOneItemTwoQuantities() | Test add multi shipping | mixed |
testAddMultiShippingOneAddressTwoItems() | Test add multi shipping | mixed |
testAddMultiShippingTwoAddressesTwoItemsOneAndTwoQuantities() | Test add multi shipping | mixed |
testAddMultiShippingTwoAddressesTwoItemsEachTwoQuantities() | Test add multi shipping | mixed |
testAddMultiShippingOneAddressThreeItems() | Test add multi shipping | mixed |
testAddMultiShippingTwoAddressesThreeItems() | Test add multi shipping | mixed |
testAddMultiShippingThreeAddressesThreeItems() | Test add multi shipping | mixed |
testAddMultiShippingWithoutCart() | Test add multi shipping | mixed |
testAddMultiShippingWithShippingEarlier() | Test add multi shipping | mixed |
testAddMultiShippingThreeItemsOfOneProduct() | Test add multi shipping item merge | mixed |
setUp() | Client を生成しトランザクションを開始する. | mixed |
tearDown() | トランザクションをロールバックする. | mixed |
createShippingFormData() | mixed | |
scenarioCartIn() | mixed | |
scenarioInput() | mixed | |
scenarioConfirm() | mixed | |
scenarioRedirectTo() | mixed | |
scenarioComplete() | mixed | |
scenarioCheckout() | mixed | |
logIn() | mixed | |
loginTo() | User をログインさせてHttpKernel\Client を返す. | Client |
getFaker() | Faker を生成する. | Generator |
verify() | Expected と Actual を比較する. | mixed |
createMember() | Member オブジェクトを生成して返す. | Member |
createCustomer() | Customer オブジェクトを生成して返す. | Customer |
createCustomerAddress() | CustomerAddress を生成して返す. | CustomerAddress |
createNonMember() | 非会員の Customer オブジェクトを生成して返す. | Customer |
createProduct() | Product オブジェクトを生成して返す. | Product |
createOrder() | Order オブジェクトを生成して返す. | Order |
createOrderWithProductClasses() | Order オブジェクトを生成して返す. | Order |
createPayment() | Payment オプジェクトを生成して返す. | Payment |
createPage() | Page オブジェクトを生成して返す | Page |
deleteAllRows() | テーブルのデータを全て削除する. | mixed |
cleanUpProperties() | PHPUnit インスタンスのプロパティを初期化する. | mixed |
initializeMailCatcher() | MailCatcher を初期化する. | mixed |
checkMailCatcherStatus() | MailCatcher の起動状態をチェックする. | mixed |
cleanUpMailCatcherMessages() | MailCatcher のメッセージをすべて削除する. | mixed |
getMailCatcherMessages() | MailCatcher のメッセージをすべて取得する. | array |
getMailCatcherMessage() | MailCatcher のメッセージを ID を指定して取得する. | object |
parseMailCatcherSource() | MailCatcher のメッセージソースをデコードする. | string |
getMailCollector() | Get the MailCollector | MessageDataCollector |
generateUrl() | Generates a URL from the given parameters. | string |
getCsrfToken() | Returns a CSRF token for the given ID. | CsrfToken |
Properties
$baseInfoRepository
private
BaseInfoRepository
$baseInfoRepository
$orderRepository
private
OrderRepository
$orderRepository
$orderStatusRepository
private
OrderStatusRepository
$orderStatusRepository
$actual
protected
mixed
$actual
$expected
protected
mixed
$expected
$client
protected
Client
$client
$container
protected
ContainerInterface
$container
$entityManager
protected
EntityManagerInterface
$entityManager
$eccubeConfig
protected
EccubeConfig
$eccubeConfig
Methods
setUp()
Client を生成しトランザクションを開始する.
public
setUp(
)
: mixed
Return values
mixedtearDown()
tearDown: rollback and clear mail
public
tearDown(
)
: mixed
Return values
mixedtestCompleteWithLogin()
カート→購入確認画面→複数配送設定画面→購入確認画面→完了画面
public
testCompleteWithLogin(
)
: mixed
Return values
mixedtestDisplayCustomerAddress()
public
testDisplayCustomerAddress(
)
: mixed
Return values
mixedtestAddMultiShippingOneAddressOneItem()
Test add multi shipping
public
testAddMultiShippingOneAddressOneItem(
)
: mixed
Return values
mixedtestAddMultiShippingOneAddressOneItemTwoQuantities()
Test add multi shipping
public
testAddMultiShippingOneAddressOneItemTwoQuantities(
)
: mixed
Return values
mixedtestAddMultiShippingOneAddressTwoItems()
Test add multi shipping
public
testAddMultiShippingOneAddressTwoItems(
)
: mixed
Return values
mixedtestAddMultiShippingTwoAddressesTwoItemsOneAndTwoQuantities()
Test add multi shipping
public
testAddMultiShippingTwoAddressesTwoItemsOneAndTwoQuantities(
)
: mixed
Return values
mixedtestAddMultiShippingTwoAddressesTwoItemsEachTwoQuantities()
Test add multi shipping
public
testAddMultiShippingTwoAddressesTwoItemsEachTwoQuantities(
)
: mixed
Return values
mixedtestAddMultiShippingOneAddressThreeItems()
Test add multi shipping
public
testAddMultiShippingOneAddressThreeItems(
)
: mixed
Return values
mixedtestAddMultiShippingTwoAddressesThreeItems()
Test add multi shipping
public
testAddMultiShippingTwoAddressesThreeItems(
)
: mixed
Return values
mixedtestAddMultiShippingThreeAddressesThreeItems()
Test add multi shipping
public
testAddMultiShippingThreeAddressesThreeItems(
)
: mixed
Return values
mixedtestAddMultiShippingWithoutCart()
Test add multi shipping
public
testAddMultiShippingWithoutCart(
)
: mixed
Return values
mixedtestAddMultiShippingWithShippingEarlier()
Test add multi shipping
public
testAddMultiShippingWithShippingEarlier(
)
: mixed
Return values
mixedtestAddMultiShippingThreeItemsOfOneProduct()
Test add multi shipping item merge
public
testAddMultiShippingThreeItemsOfOneProduct(
)
: mixed
Give:
- Product A x 3
- Address x 1
When:
- Shipment item:
- Product A x1
- Product A x1
- Product A x1
- Delivery: 1 (for product type 1)
Then:
- Number of Shipping: 1
- Shipment item: Product A x 3
- Delivery 1: サンプル業者
- Mail content: ◎お届け先
Return values
mixedsetUp()
Client を生成しトランザクションを開始する.
public
setUp(
)
: mixed
Return values
mixedtearDown()
トランザクションをロールバックする.
public
tearDown(
)
: mixed
Return values
mixedcreateShippingFormData()
public
createShippingFormData(
)
: mixed
Return values
mixedscenarioCartIn()
protected
scenarioCartIn(
[ $Customer :
Customer
= null ]
[, $product_class_id :
mixed
= 1 ]
)
: mixed
Parameters
- $Customer : Customer = null
- $product_class_id : mixed = 1
Return values
mixedscenarioInput()
protected
scenarioInput(
$formData :
mixed
)
: mixed
Parameters
- $formData : mixed
Return values
mixedscenarioConfirm()
protected
scenarioConfirm(
[ $Customer :
Customer
= null ]
)
: mixed
Parameters
- $Customer : Customer = null
Return values
mixedscenarioRedirectTo()
protected
scenarioRedirectTo(
$Cusotmer :
Customer
, $parameters :
mixed
)
: mixed
Parameters
- $Cusotmer : Customer
- $parameters : mixed
Return values
mixedscenarioComplete()
protected
scenarioComplete(
[ $Customer :
Customer
= null ]
, $confirm_url :
mixed
[, $shippings :
array
= [] ]
[, $doComplete :
mixed
= false ]
)
: mixed
Parameters
- $Customer : Customer = null
- $confirm_url : mixed
- $shippings : array = []
- $doComplete : mixed = false
Return values
mixedscenarioCheckout()
protected
scenarioCheckout(
[ $Customer :
Customer
= null ]
)
: mixed
Parameters
- $Customer : Customer = null
Return values
mixedlogIn()
public
logIn(
[ $user :
mixed
= null ]
)
: mixed
Parameters
- $user : mixed = null
Tags
Return values
mixedloginTo()
User をログインさせてHttpKernel\Client を返す.
public
loginTo(
$User :
UserInterface
)
: Client
EccubeTestCase::getCsrfToken() を使用する場合は, この関数をコールする前に実行すること.
Parameters
- $User : UserInterface
ログインさせる User
Tags
Return values
ClientgetFaker()
Faker を生成する.
public
getFaker(
[ $locale :
string
= 'ja_JP' ]
)
: Generator
Parameters
- $locale : string = 'ja_JP'
ロケールを指定する. デフォルト ja_JP
Tags
Return values
Generatorverify()
Expected と Actual を比較する.
public
verify(
[ $message :
string
= '' ]
)
: mixed
Parameters
- $message : string = ''
エラーメッセージ
Tags
Return values
mixedcreateMember()
Member オブジェクトを生成して返す.
public
createMember(
[ $username :
string
= null ]
)
: Member
Parameters
- $username : string = null
. null の場合は, ランダムなユーザーIDが生成される.
Return values
MembercreateCustomer()
Customer オブジェクトを生成して返す.
public
createCustomer(
[ $email :
string
= null ]
)
: Customer
Parameters
- $email : string = null
メールアドレス. null の場合は, ランダムなメールアドレスが生成される.
Return values
CustomercreateCustomerAddress()
CustomerAddress を生成して返す.
public
createCustomerAddress(
$Customer :
Customer
[, $is_nonmember :
bool
= false ]
)
: CustomerAddress
Parameters
- $Customer : Customer
対象の Customer インスタンス
- $is_nonmember : bool = false
非会員の場合 true
Return values
CustomerAddresscreateNonMember()
非会員の Customer オブジェクトを生成して返す.
public
createNonMember(
[ $email :
string
= null ]
)
: Customer
Parameters
- $email : string = null
メールアドレス. null の場合は, ランダムなメールアドレスが生成される.
Return values
CustomercreateProduct()
Product オブジェクトを生成して返す.
public
createProduct(
[ $product_name :
string
= null ]
[, $product_class_num :
int
= 3 ]
)
: Product
Parameters
- $product_name : string = null
商品名. null の場合はランダムな文字列が生成される.
- $product_class_num : int = 3
商品規格の生成数
Return values
ProductcreateOrder()
Order オブジェクトを生成して返す.
public
createOrder(
$Customer :
Customer
)
: Order
Parameters
- $Customer : Customer
Customer インスタンス
Return values
OrdercreateOrderWithProductClasses()
Order オブジェクトを生成して返す.
public
createOrderWithProductClasses(
$Customer :
Customer
, $ProductClasses :
\Eccube\Entity\ProductClass[]
)
: Order
Parameters
- $Customer : Customer
Customer インスタンス
- $ProductClasses : \Eccube\Entity\ProductClass[]
Return values
OrdercreatePayment()
Payment オプジェクトを生成して返す.
public
createPayment(
$Delivery :
Delivery
, $method :
string
, $charge :
int
, $rule_min :
int
[, $rule_max :
int
= 999999999 ]
)
: Payment
Parameters
- $Delivery : Delivery
デフォルトで設定する配送オブジェクト
- $method : string
支払い方法名称
- $charge : int
手数料
- $rule_min : int
下限金額
- $rule_max : int = 999999999
上限金額
Return values
PaymentcreatePage()
Page オブジェクトを生成して返す
public
createPage(
)
: Page
Return values
PagedeleteAllRows()
テーブルのデータを全て削除する.
public
deleteAllRows(
$tables :
array
)
: mixed
このメソッドは、参照制約の関係で、 Doctrine ORM ではデータ削除できない場合に使用する. 通常は、 EntityManager::remove() を使用して削除すること.
Parameters
- $tables : array
削除対象のテーブル名の配列
Return values
mixedcleanUpProperties()
PHPUnit インスタンスのプロパティを初期化する.
protected
cleanUpProperties(
)
: mixed
このメソッドは、PHPUnit のメモリリーク解消のため、 tearDown() メソッドでコールされる.
Tags
Return values
mixedinitializeMailCatcher()
MailCatcher を初期化する.
protected
initializeMailCatcher(
)
: mixed
このメソッドは主に setUp() メソッドでコールされる. MailCatcher が起動してない場合は, テストをスキップする. MailCatcher については \Eccube\Tests\Service\MailServiceTest のコメントを参照してください
Tags
Return values
mixedcheckMailCatcherStatus()
MailCatcher の起動状態をチェックする.
protected
checkMailCatcherStatus(
)
: mixed
MailCatcher が起動していない場合は, テストをスキップする.
Tags
Return values
mixedcleanUpMailCatcherMessages()
MailCatcher のメッセージをすべて削除する.
protected
cleanUpMailCatcherMessages(
)
: mixed
Tags
Return values
mixedgetMailCatcherMessages()
MailCatcher のメッセージをすべて取得する.
protected
getMailCatcherMessages(
)
: array
Tags
Return values
array —MailCatcher のメッセージの配列
getMailCatcherMessage()
MailCatcher のメッセージを ID を指定して取得する.
protected
getMailCatcherMessage(
$id :
int
)
: object
Parameters
- $id : int
メッセージの ID
Tags
Return values
object —MailCatcher のメッセージ
parseMailCatcherSource()
MailCatcher のメッセージソースをデコードする.
protected
parseMailCatcherSource(
$Message :
object
)
: string
Parameters
- $Message : object
MailCatcher のメッセージ
Tags
Return values
string —デコードされた eml 形式のソース
getMailCollector()
Get the MailCollector
protected
getMailCollector(
[ $sendRequest :
bool
= true ]
)
: MessageDataCollector
Parameters
- $sendRequest : bool = true
True to send requests internally.
Return values
MessageDataCollectorgenerateUrl()
Generates a URL from the given parameters.
protected
generateUrl(
$route :
string
[, $parameters :
array
= [] ]
[, $referenceType :
int
= UrlGeneratorInterface::ABSOLUTE_PATH ]
)
: string
Parameters
- $route : string
The name of the route
- $parameters : array = []
An array of parameters
- $referenceType : int = UrlGeneratorInterface::ABSOLUTE_PATH
The type of reference (one of the constants in UrlGeneratorInterface)
Tags
Return values
string —The generated URL
getCsrfToken()
Returns a CSRF token for the given ID.
protected
getCsrfToken(
$csrfTokenId :
string
)
: CsrfToken
If previously no token existed for the given ID. ATTENTION: Call this function before login.
Parameters
- $csrfTokenId : string
The token ID (e.g.
authenticate
,<FormTypeBlockPrefix>
)
Tags
Return values
CsrfToken —The CSRF token