def create_order(request, template_name='service_order/create_order.html'): if request.method == 'POST': # item_list = request.POST.getlist('item') # o = Order_System.create_order(item_list=item_list) item_id_list = request.POST.getlist('item_id') item_name_list = request.POST.getlist('item_name') #pdb.set_trace() request_params = request.POST.copy() request_params = request_params.dict() items = [] for i, item_id in enumerate(item_id_list): items.append({ 'commodity_id': item_id, 'name': item_name_list[i], 'sku_service_times': 5 }) #pass in a default service_times here #items_snapshot = {'order_type':'service', 'items':items} items_snapshot = items items_json = json.dumps(items_snapshot) request_params['items_json'] = items_json print 'items_json:', items_json o = Order_System.create_order(item_list=item_id_list, **request_params) return HttpResponseRedirect( '/service_order_demo/make_order3/?order_id=' + o + '&refresh=y') cs = Service_Commodity.objects.all() return render_to_response( template_name, {'items': cs[:1]}, #for now one order has only one item context_instance=RequestContext(request))
def test_work_flow1(self): """no attendance code used, then expired """ o_id2 = Order_System.create_order( **{ 'items_json': '[{"sku_service_times": 5, "price": 100.0, "commodity_id": "793669834", "name": "yoga meditation"}]', "buyer_id": "6769834" }) so2 = get_object_or_404(Service_Order, id=o_id2) current_state_post_action = so2.goto_next('P', 'payment successful') self.assertTupleEqual(current_state_post_action, (u'FP', u'payment_successful')) current_state_post_action = so2.goto_next('P', 'attendance code expired') self.assertTupleEqual(current_state_post_action, (u'FP', u'attendance_code_expired')) current_state_post_action = so2.goto_next('P', 'finished refund') self.assertTupleEqual(current_state_post_action, (u'FP', u'refund_sheet_finished')) current_state = so2.state self.assertEqual(current_state, u'CT') current_state_post_action = so2.get_role_actions() self.assertDictEqual(current_state_post_action, {})
def test_work_flow6(self): """ create order, then cancel it """ o_id = Order_System.create_order() so = get_object_or_404(Service_Order, id=o_id) current_state = so.service_order.state self.assertEqual(current_state, u"WP") next_actions = so.service_order.get_role_actions() self.assertDictEqual( next_actions, {u"P": [u"no payment", u"payment successful"], u"B": [u"cancel order", u"make payment"]} ) current_state_post_action = so.goto_next("B", u"cancel order") self.assertTupleEqual(current_state_post_action, (u"CT", u""))
def test_work_flow6(self): """ create order, then cancel it """ o_id = Order_System.create_order() so = get_object_or_404(Service_Order, id=o_id) current_state = so.service_order.state self.assertEqual(current_state, u'WP') next_actions = so.service_order.get_role_actions() self.assertDictEqual( next_actions, { u'P': [u'no payment', u'payment successful'], u'B': [u'cancel order', u'make payment'] }) current_state_post_action = so.goto_next('B', u'cancel order') self.assertTupleEqual(current_state_post_action, (u'CT', u''))
def test_work_flow1(self): """no attendance code used, then expired """ o_id2 = Order_System.create_order( **{ "items_json": '[{"sku_service_times": 5, "price": 100.0, "commodity_id": "793669834", "name": "yoga meditation"}]', "buyer_id": "6769834", } ) so2 = get_object_or_404(Service_Order, id=o_id2) current_state_post_action = so2.goto_next("P", "payment successful") self.assertTupleEqual(current_state_post_action, (u"FP", u"payment_successful")) current_state_post_action = so2.goto_next("P", "attendance code expired") self.assertTupleEqual(current_state_post_action, (u"FP", u"attendance_code_expired")) current_state_post_action = so2.goto_next("P", "finished refund") self.assertTupleEqual(current_state_post_action, (u"FP", u"refund_sheet_finished")) current_state = so2.state self.assertEqual(current_state, u"CT") current_state_post_action = so2.get_role_actions() self.assertDictEqual(current_state_post_action, {})
def create_order(request, template_name='service_order/create_order.html'): if request.method == 'POST': # item_list = request.POST.getlist('item') # o = Order_System.create_order(item_list=item_list) item_id_list = request.POST.getlist('item_id') item_name_list = request.POST.getlist('item_name') #pdb.set_trace() request_params = request.POST.copy() request_params = request_params.dict() items = [] for i, item_id in enumerate(item_id_list): items.append({'commodity_id':item_id, 'name':item_name_list[i], 'sku_service_times':5}) #pass in a default service_times here #items_snapshot = {'order_type':'service', 'items':items} items_snapshot = items items_json = json.dumps(items_snapshot) request_params['items_json'] = items_json print 'items_json:', items_json o = Order_System.create_order(item_list=item_id_list, **request_params) return HttpResponseRedirect('/service_order_demo/make_order3/?order_id='+o+'&refresh=y') cs = Service_Commodity.objects.all() return render_to_response(template_name, {'items':cs[:1]}, #for now one order has only one item context_instance=RequestContext(request))