def get(self): filt = model.CouponSearchSpec() filt.year = int(self.request.params['year']) filt.active = True qry_coupons = model.coupon_search(filt) formatted = [model.jsonify(ob) for ob in qry_coupons.run()] output = { 'coupons': formatted, 'count': qry_coupons.count(), 'refs': { 'coupon_types': formatters.get_coupon_type_map(), 'coupon_url_pattern': webapp2.uri_for('check', id='@@@') } } json.dump(output, self.response.out)
def test_jsonify_coupon(self): # Create sample order ct = model.CouponType('test', 300.0, "Test flight") # Process successful payment with freeze_time(datetime.datetime(2012, 1, 4)): order = model.order_create('1', ct, test=True) order, coupons = model.order_process(order.order_id, '*****@*****.**', 100.0, 'EUR', payer_name='Andrey', payer_surname='Lebedev', payment_provider='dnb') c0 = coupons[0] self.maxDiff = None formatted = model.jsonify(c0) self.assertDictContainsSubset( {'order': {'__key': 'agx0ZXN0YmVkLXRlc3RyDAsSBU9yZGVyIgExDA', '__name': u'1', '__path': [u'Order', u'1'], 'coupon_type': u'test', 'create_time': '2012-01-04T00:00:00', 'currency': u'EUR', 'notes': None, 'paid_amount': 100.0, 'paid_currency': 'EUR', 'payer_email': u'*****@*****.**', 'payer_name': 'Andrey', 'payer_surname': 'Lebedev', 'payment_provider': None, 'payment_time': '2012-01-04T00:00:00', 'price': 300.0, 'quantity': 1L, 'status': 2, 'test': True}, 'status': 1, 'use_time': None}, formatted, ) self.assertIn('__key', formatted) self.assertIn('__name', formatted) self.assertIn('__path', formatted)