def step_impl(context, user): resp = context.client.get("mall.default_ship_info") bdd_util.assert_api_call_success(resp) actual = resp.data expected = json.loads(context.text) bdd_util.assert_dict(expected, actual)
def step_impl(context, user, name): params = json.loads(context.text) id = get_product_label_id_by_name(name) params['id'] = id resp = context.client.post("product.label", params) bdd_util.assert_api_call_success(resp)
def step_impl(context, user, name): params = json.loads(context.text) id = get_product_category_id_by_name(name) params['id'] = id resp = context.client.post("ginger-mall:product.category", params) bdd_util.assert_api_call_success(resp)
def step_impl(context, user, product_name, label_name): product_id = get_pool_product_id_by_name(product_name) label_id = get_product_label_id_by_name(label_name) data = {"product_id": product_id, "label_id": label_id} response = context.client.delete('product.labeled_product', data) bdd_util.assert_api_call_success(response)
def step_impl(context, corp_user): product = json.loads(context.text) pool_product_id = get_pool_product_id_by_name(product['name'], corp_user) sku = get_sku_name_from_display_name(product['sku']) price_infos = None if 'price' in product: price_infos = [{'sku': sku, 'price': product['price']}] supplier_price_infos = None if 'supplier_price' in product: supplier_price_infos = [{ 'sku': sku, 'price': product['supplier_price'] }] data = { "id": pool_product_id, } if price_infos: data['price_infos'] = json.dumps(price_infos) if supplier_price_infos: data['supplier_price_infos'] = json.dumps(supplier_price_infos) response = context.client.post('product.pool_product_price', data) bdd_util.assert_api_call_success(response)
def step_impl(context, webapp_user_name): latest_order_bid = get_latest_order_bid() response = context.client.put("order.payed_order", { "bid": latest_order_bid }) bdd_util.assert_api_call_success(response)
def __get_products(context, corp_name, type_name=u'在售', options={}): TYPE2URL = { u'待售': 'product.offshelf_products', u'在售': 'product.onshelf_products', u'分类': 'product.category_products', u'手机上分类': 'mall.category_products', u'平台': 'product.platform_pool_products', u'标签': 'product.labeled_products' } # if type_name == u'平台': # #print json.dumps(response.data, indent=2) # print products # raw_input() url = TYPE2URL[type_name] params = {} if type_name == u'分类' or type_name == u'手机上分类': params['category_id'] = options['category_id'] if type_name == u'标签': params['label_id'] = options['label_id'] response = context.client.get(url, params) bdd_util.assert_api_call_success(response) products = __get_format_products(response.data["products"]) return products
def step_impl(context, corp_user): latest_invoice_bid = get_latest_invoice_bid() response = context.client.put("order.confirmed_invoice", { "bid": latest_invoice_bid }) bdd_util.assert_api_call_success(response)
def get_area_code_by_name(client, name): resp = client.get('area.area_code', { 'name': name }) bdd_util.assert_api_call_success(resp) return resp.data
def step_impl(context, user): expected = json.loads(context.text) resp = context.client.get("product.labels") actual = resp.data["labels"] bdd_util.assert_api_call_success(resp) bdd_util.assert_list(expected, actual)
def step_impl(context, user): context.client = bdd_client.login('app', user, password=None, context=context) resp = context.client.post('ginger-account:user.user', { 'id': context.client.cur_user_id, 'avatar': 'http://resource.vxiaocheng.com/ginger/girls/%s.jpg' % user }) bdd_util.assert_api_call_success(resp)
def step_impl(context, user, count): response = context.client.get("mall.shopping_cart_product_count", {}) bdd_util.assert_api_call_success(response) actual = response.data['count'] expected = int(count) assert expected == actual, 'expected(%d) != actual(%d)' % (expected, actual)
def step_impl(context, user, address): params = json.loads(context.text) id = get_ship_info_id_by_address(address) params['id'] = id params['action'] = json.loads(context.text)['action'] resp = context.client.post("mall.ship_info_display_index", params) bdd_util.assert_api_call_success(resp)
def step_impl(context, user, value): expected = json.loads(context.text) id, property_id = get_product_property_value_by_value(value) resp = context.client.delete("product.property_value", {"id": id, "property_id": property_id}) if not expected.get("error_code"): bdd_util.assert_api_call_success(resp) else: bdd_util.assert_api_call_failed(resp, expected.get("error_code"))
def step_impl(context, user, name): id = get_product_id_by_name(name) action = json.loads(context.text)["action"] resp = context.client.post("product.product_index", { "id": id, "action": action }) bdd_util.assert_api_call_success(resp)
def step_impl(context, user_name, imoney_code): data = {"imoney_code": imoney_code, 'view_corp_account': True} resp = context.client.get('ginger-finance:imoney.balance', data) bdd_util.assert_api_call_success(resp) actual = bdd_util.format_price(resp.data) expected = json.loads(context.text)['balance'] assert expected == actual, "e(%d) != a(%d)" % (expected, actual)
def step_impl(context, user): input_datas = json.loads(context.text) for product_name in input_datas: shopping_cart_item_id = get_shopping_cart_item_id_by_product_name(product_name) data = { 'id': shopping_cart_item_id } response = context.client.delete('mall.shopping_cart_item', data) bdd_util.assert_api_call_success(response)
def create_corp(context, corp_name, username): """ 创建门店 """ response = context.client.put('ginger-account:corp.corp', { "corp_name": corp_name, "username": username, "password": "******" }) bdd_util.assert_api_call_success(response)
def step_impl(context, user, product_name): product_id = get_pool_product_id_by_name(product_name) input_datas = json.loads(context.text) label_ids = [] for label_name in input_datas: label_ids.append(get_product_label_id_by_name(label_name)) data = {"product_id": product_id, "label_ids": json.dumps(label_ids)} response = context.client.put('product.labeled_product', data) bdd_util.assert_api_call_success(response)
def step_impl(context, webapp_user_name, status): latest_invoice_bid = get_latest_invoice_bid() response = context.client.get("order.order_status", { "bid": latest_invoice_bid }) bdd_util.assert_api_call_success(response) actual = STATUS2STR[response.data['status']] expected = status assert actual == expected, u"actual(%s) != expected(%s)" % (actual, expected)
def step_impl(context, user, product_name): product = __get_product(context, user, product_name) update_data = json.loads(context.text) for key, value in update_data.items(): product[key] = value data = __format_product_post_data(context, product) data['id'] = product['id'] response = context.client.post('product.product', data) bdd_util.assert_api_call_success(response)
def step_impl(context, user): expected = json.loads(context.text) resp = context.client.get("product.corp_product_properties") bdd_util.assert_api_call_success(resp) actual = resp.data["product_properties"] for property_item in actual: for value_item in property_item['values']: value_item['image'] = value_item['image'] value_item['name'] = value_item['text'] bdd_util.assert_list(expected, actual)
def step_impl(context, user, address): params = json.loads(context.text) id = get_ship_info_id_by_address(address) params['id'] = id #处理area area_name = params["area"] area_code = get_area_code_by_name(context.client, area_name) params['area_code'] = area_code resp = context.client.post("mall.ship_info", params) bdd_util.assert_api_call_success(resp)
def step_impl(context, user, amount, imoney_code): user_id = step_util.get_user_id_by_name(context.client, user) data = { "source_user_id": 0, #client.cur_user_id, "dest_user_id": user_id, "imoney_code": imoney_code, "amount": int(amount) * 100, "bid": "bdd" } resp = context.client.put('ginger-finance:imoney.transfer', data) bdd_util.assert_api_call_success(resp)
def step_impl(context, user, category_name): expected = json.loads(context.text) father_id = get_product_category_id_by_name( category_name) if category_name != u'一级' else 0 resp = context.client.get("ginger-mall:mall.sub_categories", {"father_id": father_id}) actual = [ category for category in resp.data["categories"] if category['is_enabled'] ] bdd_util.assert_api_call_success(resp) bdd_util.assert_list(expected, actual)
def step_impl(context, webapp_user_name): latest_invoice_bid = get_latest_invoice_bid() response = context.client.put("order.finished_invoice", { "bid": latest_invoice_bid }) bdd_util.assert_api_call_success(response) # 发起结算 response = context.client.put("ginger-finance:clearance.order_clearance", { "bid": latest_invoice_bid, "sync": True }) bdd_util.assert_api_call_success(response)
def step_impl(context, user, corp_name): input_datas = json.loads(context.text) for product_data in input_datas: pool_product_id = get_pool_product_id_by_name(product_data['name'], context.corp['id']) sku_name = product_steps.get_sku_name_from_display_name(product_data.get('sku', 'standard')) data = { 'pool_product_id': pool_product_id, 'count': product_data['count'], 'sku_name': sku_name } response = context.client.put('mall.shopping_cart_item', data) bdd_util.assert_api_call_success(response) time.sleep(0.1)
def step_impl(context, user): products = json.loads(context.text) if isinstance(products, dict): products = [products] for product in products: data = { 'name': product['name'], 'skus': json.dumps([{ 'name': 'standard', 'price': product['price'] }]) } response = context.client.put('product.virtual_product', data) bdd_util.assert_api_call_success(response)
def step_impl(context, user, shelf_name): product_names = json.loads(context.text) pool_product_ids = [] for product_name in product_names: pool_product_id = get_pool_product_id_by_name(product_name, user) pool_product_ids.append(pool_product_id) if shelf_name == u'在售': data = {'product_ids': json.dumps(pool_product_ids)} response = context.client.put('product.onshelf_products', data) bdd_util.assert_api_call_success(response) elif shelf_name == u'待售': data = {'product_ids': json.dumps(pool_product_ids)} response = context.client.put('product.offshelf_products', data) bdd_util.assert_api_call_success(response)
def create_product_category(category, parent_category_name=None): for category_name, sub_categories in category.items(): post_data = { "name": category_name, "father_id": get_product_category_id_by_name(parent_category_name) if parent_category_name else 0 } resp = context.client.put("ginger-mall:product.category", post_data) bdd_util.assert_api_call_success(resp) if len(sub_categories) > 0: for sub_category in sub_categories: create_product_category(sub_category, category_name)