def test_package_price(self): shipment = ShipmentFactory() package = PackageFactory(shipment=shipment) item1 = PackageItemFactory(package=package, price_usd=Decimal('1.23'), quantity=2) item2 = PackageItemFactory(package=package, price_usd=Decimal('9.11'), quantity=3) expected_price = quantize_usd(Decimal(item1.quantity * item1.price_usd + item2.quantity * item2.price_usd)) pkg = PackageDBView.objects.get(pk=package.pk) price = pkg.price_usd self.assertEqual(expected_price, price)
def test_shipment_price(self): shipment = ShipmentFactory() package1 = PackageFactory(shipment=shipment) PackageItemFactory(package=package1, price_usd=Decimal('1.23'), quantity=2) PackageItemFactory(package=package1, price_usd=Decimal('9.11'), quantity=3) package2 = PackageFactory(shipment=shipment) PackageItemFactory(package=package2, price_usd=Decimal('3.14'), quantity=13) pkgs = PackageDBView.objects.filter(pk__in=[package1.pk, package2.pk]) price_sum = sum([pkg.price_usd for pkg in pkgs]) expected_price = quantize_usd(price_sum) ship = ShipmentDBView.objects.get(pk=shipment.pk) price = ship.price_usd self.assertEqual(expected_price, price)