def test_get_report_with_date(self): """test get profit with date""" in_transaction_1 = InTransaction.objects.create( in_product=self.phone_A, in_quantity=1, in_unit_price=10, in_serial='1111', in_purchase=self.purchase_1) out_transaction_1 = OutTransaction.objects.create( out_product=self.phone_A, out_quantity=1, out_unit_price=15, out_serial='1111', out_sales=self.sales_2) #make sure objects exists self.assertEqual(len(InTransaction.objects.all()), 1) self.assertEqual(len(OutTransaction.objects.all()), 1) print query.get_report_with_date( date=date(2013, 1, 3)) #test profit self.assertEqual( query.get_report_with_date( date=date(2013, 1, 3))['profit'], 5)
def report_list(request, store): """ handles report list function support GET to retrieve report """ if request.method != "GET": return HttpResponse( 'Method ' + request.method + " is not supported", status=403) try: if 'date' not in request.GET: raise ValidationError('invalid input %s' % request.GET) date = datetime.strptime(request.GET['date'], '%Y-%m-%d').date() data = query.get_report_with_date(date) return HttpResponse(json.dumps(data)) except ValidationError as ex: return HttpResponse(ex.value, status=403) except ValueError as ex: return HttpResponse(ex, status=403)