Class: NeAPI::Testing::ResponseFactory
- Inherits:
-
Object
- Object
- NeAPI::Testing::ResponseFactory
- Defined in:
- lib/ne_api/testing/response_factory.rb
Overview
テスト用レスポンスデータを生成するファクトリ
Class Method Summary collapse
-
.busy_error ⇒ Hash
混雑エラー(リトライ対象)を生成.
-
.company_info(overrides = {}) ⇒ Hash
会社情報を生成.
-
.error(code: "001001", message: "エラーが発生しました") ⇒ Hash
エラーレスポンスを生成.
-
.goods(overrides = {}) ⇒ Hash
商品マスタデータを生成.
-
.goods_list(count = 3) {|item, index| ... } ⇒ Array<Hash>
商品リストを生成.
-
.receive_order(overrides = {}) ⇒ Hash
受注データを生成.
-
.receive_order_list(count = 3, &block) ⇒ Array<Hash>
受注リストを生成.
-
.receive_order_row(overrides = {}) ⇒ Hash
受注明細データを生成.
-
.shop(overrides = {}) ⇒ Hash
店舗データを生成.
-
.stock(overrides = {}) ⇒ Hash
在庫マスタデータを生成.
-
.stock_list(count = 3, &block) ⇒ Array<Hash>
在庫リストを生成.
-
.success_response(data: [], access_token: "test_access_token", refresh_token: "test_refresh_token") ⇒ Hash
成功レスポンスを生成(info系API用).
-
.user_info(overrides = {}) ⇒ Hash
ユーザー情報を生成.
-
.warehouse_stock(overrides = {}) ⇒ Hash
倉庫在庫データを生成.
Class Method Details
.busy_error ⇒ Hash
混雑エラー(リトライ対象)を生成
199 200 201 |
# File 'lib/ne_api/testing/response_factory.rb', line 199 def busy_error error(code: "003001", message: "Next Engineが大変混み合っています") end |
.company_info(overrides = {}) ⇒ Hash
会社情報を生成
133 134 135 136 137 138 139 140 |
# File 'lib/ne_api/testing/response_factory.rb', line 133 def company_info(overrides = {}) { "company_id" => "12345", "company_name" => "テスト会社", "company_ne_id" => "NE123456", "company_kana" => "テストカイシャ" }.merge(stringify_keys(overrides)) end |
.error(code: "001001", message: "エラーが発生しました") ⇒ Hash
エラーレスポンスを生成
188 189 190 191 192 193 194 |
# File 'lib/ne_api/testing/response_factory.rb', line 188 def error(code: "001001", message: "エラーが発生しました") { "result" => "error", "code" => code, "message" => } end |
.goods(overrides = {}) ⇒ Hash
商品マスタデータを生成
20 21 22 23 24 25 26 |
# File 'lib/ne_api/testing/response_factory.rb', line 20 def goods(overrides = {}) { "goods_id" => SecureRandom.hex(8), "goods_name" => "テスト商品", "goods_jan_code" => "4912345678901" }.merge(stringify_keys(overrides)) end |
.goods_list(count = 3) {|item, index| ... } ⇒ Array<Hash>
商品リストを生成
33 34 35 36 37 38 |
# File 'lib/ne_api/testing/response_factory.rb', line 33 def goods_list(count = 3, &block) count.times.map do |i| item = goods("goods_id" => "GOODS#{format('%03d', i + 1)}", "goods_name" => "テスト商品#{i + 1}") block ? block.call(item, i) : item end end |
.receive_order(overrides = {}) ⇒ Hash
受注データを生成
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
# File 'lib/ne_api/testing/response_factory.rb', line 71 def receive_order(overrides = {}) { "receive_order_id" => SecureRandom.hex(8), "receive_order_shop_id" => "1", "receive_order_shop_cut_form_id" => "ORD-#{SecureRandom.hex(4).upcase}", "receive_order_date" => Time.now.strftime("%Y-%m-%d %H:%M:%S"), "receive_order_order_status_id" => "10", "receive_order_order_status_name" => "新規受付", "receive_order_delivery_id" => "1", "receive_order_delivery_name" => "ヤマト運輸", "receive_order_payment_method_id" => "1", "receive_order_payment_method_name" => "クレジットカード", "receive_order_total_amount" => 1000, "receive_order_tax_amount" => 100, "receive_order_goods_amount" => 900, "receive_order_delivery_fee_amount" => 0, "receive_order_purchaser_name" => "テスト顧客", "receive_order_purchaser_kana" => "テストコキャク", "receive_order_purchaser_zip_code" => "100-0001", "receive_order_purchaser_address1" => "東京都千代田区", "receive_order_purchaser_address2" => "1-1-1", "receive_order_purchaser_tel" => "03-1234-5678", "receive_order_purchaser_mail_address" => "[email protected]", "receive_order_consignee_name" => "テスト顧客", "receive_order_consignee_zip_code" => "100-0001", "receive_order_consignee_address1" => "東京都千代田区", "receive_order_consignee_address2" => "1-1-1", "receive_order_consignee_tel" => "03-1234-5678" }.merge(stringify_keys(overrides)) end |
.receive_order_list(count = 3, &block) ⇒ Array<Hash>
受注リストを生成
106 107 108 109 110 111 |
# File 'lib/ne_api/testing/response_factory.rb', line 106 def receive_order_list(count = 3, &block) count.times.map do |i| item = receive_order("receive_order_shop_cut_form_id" => "ORD-#{format('%04d', i + 1)}") block ? block.call(item, i) : item end end |
.receive_order_row(overrides = {}) ⇒ Hash
受注明細データを生成
117 118 119 120 121 122 123 124 125 126 127 |
# File 'lib/ne_api/testing/response_factory.rb', line 117 def receive_order_row(overrides = {}) { "receive_order_row_receive_order_id" => SecureRandom.hex(8), "receive_order_row_no" => "1", "receive_order_row_goods_id" => SecureRandom.hex(8), "receive_order_row_goods_name" => "テスト商品", "receive_order_row_quantity" => 1, "receive_order_row_unit_price" => 1000, "receive_order_row_goods_option" => "" }.merge(stringify_keys(overrides)) end |
.shop(overrides = {}) ⇒ Hash
店舗データを生成
158 159 160 161 162 163 164 165 166 167 |
# File 'lib/ne_api/testing/response_factory.rb', line 158 def shop(overrides = {}) { "shop_id" => "1", "shop_name" => "テスト店舗", "shop_kana" => "テストテンポ", "shop_abbreviated_name" => "テスト", "shop_mall_id" => "1", "shop_deleted_flag" => "0" }.merge(stringify_keys(overrides)) end |
.stock(overrides = {}) ⇒ Hash
在庫マスタデータを生成
44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/ne_api/testing/response_factory.rb', line 44 def stock(overrides = {}) { "stock_goods_id" => SecureRandom.hex(8), "stock_quantity" => 100, "stock_allocation_quantity" => 10, "stock_defective_quantity" => 0, "stock_remaining_order_quantity" => 0, "stock_out_quantity" => 0, "stock_free_quantity" => 90 }.merge(stringify_keys(overrides)) end |
.stock_list(count = 3, &block) ⇒ Array<Hash>
在庫リストを生成
60 61 62 63 64 65 |
# File 'lib/ne_api/testing/response_factory.rb', line 60 def stock_list(count = 3, &block) count.times.map do |i| item = stock("stock_goods_id" => "GOODS#{format('%03d', i + 1)}") block ? block.call(item, i) : item end end |
.success_response(data: [], access_token: "test_access_token", refresh_token: "test_refresh_token") ⇒ Hash
成功レスポンスを生成(info系API用)
209 210 211 212 213 214 215 216 217 |
# File 'lib/ne_api/testing/response_factory.rb', line 209 def success_response(data: [], access_token: "test_access_token", refresh_token: "test_refresh_token") { "result" => "success", "data" => data, "count" => data.size.to_s, "access_token" => access_token, "refresh_token" => refresh_token } end |
.user_info(overrides = {}) ⇒ Hash
ユーザー情報を生成
146 147 148 149 150 151 152 |
# File 'lib/ne_api/testing/response_factory.rb', line 146 def user_info(overrides = {}) { "user_id" => "1", "user_name" => "テストユーザー", "user_mail" => "[email protected]" }.merge(stringify_keys(overrides)) end |
.warehouse_stock(overrides = {}) ⇒ Hash
倉庫在庫データを生成
173 174 175 176 177 178 179 180 181 |
# File 'lib/ne_api/testing/response_factory.rb', line 173 def warehouse_stock(overrides = {}) { "warehouse_stock_warehouse_id" => "1", "warehouse_stock_goods_id" => SecureRandom.hex(8), "warehouse_stock_quantity" => 100, "warehouse_stock_allocation_quantity" => 10, "warehouse_stock_free_quantity" => 90 }.merge(stringify_keys(overrides)) end |