class LineItemTest(TestCase): def setUp(self): self.shift = Shift(begin_date=timezone.now()) self.shift.save() self.transaction = self.shift.create_transaction() self.transaction.save() self.vendor = Vendor(name='Brand X') self.vendor.save() self.grocery = Grocery(upc='12345', name='Product X', vendor=self.vendor, price=23.45, taxable=True, scalable=False) self.grocery.save() def test_line_item_total(self): line_item = self.transaction.create_line_item(self.grocery, 2) line_item.save() self.assertEqual(line_item.total(), Decimal(46.90)) def test_can_cancel(self): line_item = self.transaction.create_line_item(self.grocery, 2) line_item.cancel() line_item.save() self.assertEqual(line_item.status, 'INACTIVE')
def create_grocery(request): item = Grocery(upc=request.POST['upc']) if 'price' in request.POST: item.price = request.POST['price'] if 'name' in request.POST: item.name = request.POST['name'] if 'scalable' in request.POST: if request.POST['scalable'] == 'true': item.scalable = True else: item.scalable = False if 'taxable' in request.POST: if request.POST['taxable'] == 'true': item.taxable = True else: item.taxable = False if 'vendor' in request.POST: try: vendor = Vendor.objects.get(name=request.POST['vendor']) except ObjectDoesNotExist: vendor = Vendor(name=request.POST['vendor']) vendor.save() item.vendor = vendor item.save() context_instance = {'item': item} return render( request, 'inventory/update_grocery.json', context_instance, content_type="application/json" )
class LineItemTest(TestCase): def setUp(self): self.shift = Shift(begin_date=timezone.now()) self.shift.save() self.transaction = self.shift.create_transaction() self.transaction.save() self.vendor = Vendor(name='Brand X') self.vendor.save() self.grocery = Grocery( upc='12345', name='Product X', vendor=self.vendor, price=23.45, taxable=True, scalable=False ) self.grocery.save() def test_line_item_total(self): line_item = self.transaction.create_line_item(self.grocery, 2) line_item.save() self.assertEqual(line_item.total(), Decimal(46.90)) def test_can_cancel(self): line_item = self.transaction.create_line_item(self.grocery, 2) line_item.cancel() line_item.save() self.assertEqual(line_item.status, 'INACTIVE')
def create_grocery(request): item = Grocery(upc=request.POST['upc']) if 'price' in request.POST: item.price = request.POST['price'] if 'name' in request.POST: item.name = request.POST['name'] if 'scalable' in request.POST: if request.POST['scalable'] == 'true': item.scalable = True else: item.scalable = False if 'taxable' in request.POST: if request.POST['taxable'] == 'true': item.taxable = True else: item.taxable = False if 'vendor' in request.POST: try: vendor = Vendor.objects.get(name=request.POST['vendor']) except ObjectDoesNotExist: vendor = Vendor(name=request.POST['vendor']) vendor.save() item.vendor = vendor item.save() context_instance = {'item': item} return render(request, 'inventory/update_grocery.json', context_instance, content_type="application/json")
def update_vendor(self, request, *args, **kwargs): grocery = self.get_object() try: vendor = Vendor.objects.get(name=request.POST['vendor']) except ObjectDoesNotExist: vendor = Vendor(name=request.POST['vendor']) vendor.save() grocery.vendor = vendor grocery.save() grocery = self.get_object() serializer = self.get_serializer(grocery) return Response(serializer.data)
def update_vendor(self, request, *args, **kwargs): grocery = self.get_object() try: vendor = Vendor.objects.get(name=request.POST["vendor"]) except ObjectDoesNotExist: vendor = Vendor(name=request.POST["vendor"]) vendor.save() grocery.vendor = vendor grocery.save() grocery = self.get_object() serializer = self.get_serializer(grocery) return Response(serializer.data)
def setUp(self): self.shift = Shift(begin_date=timezone.now()) self.shift.save() self.transaction = self.shift.create_transaction() self.transaction.save() self.vendor = Vendor(name='Brand X') self.vendor.save() self.grocery = Grocery(upc='12345', name='Product X', vendor=self.vendor, price=23.45, taxable=True, scalable=False) self.grocery.save()
class TransactionTest(TestCase): def setUp(self): self.shift = Shift(begin_date=timezone.now()) self.shift.save() self.transaction = self.shift.create_transaction() self.transaction.save() self.vendor = Vendor(name='Brand X') self.vendor.save() self.item = Item(\ upc='12345',\ name='Product X',\ vendor=self.vendor,\ price=23.45,\ taxable=True\ ) self.item.save() def test_end_transaction(self): self.transaction.end_transaction() self.assertIsNotNone(self.transaction.finish_date) def test_cannot_end_ended_transaction(self): self.transaction.end_transaction() finish_date = self.transaction.finish_date self.transaction.end_transaction() self.assertEqual(self.transaction.finish_date, finish_date) def test_create_line_item(self): line_item = self.transaction.create_line_item(self.item, 1) self.assertIsNotNone(line_item) def test_cannot_create_line_item_on_ended_transaction(self): line_item = self.transaction.create_line_item(self.item, 1) self.transaction.end_transaction() line_item = self.transaction.create_line_item(self.item, 1) self.assertIsNone(line_item) def test_line_item_description(self): line_item = self.transaction.create_line_item(self.item, 1) self.assertEqual(line_item.description, 'Brand X Product X') def test_get_totals(self): line_item = self.transaction.create_line_item(self.item, 1) line_item.save() line_item = self.transaction.create_line_item(self.item, 1) line_item.save() transaction_total = self.transaction.get_totals() self.assertEqual(transaction_total.sub_total, Decimal('46.90')) self.assertEqual(transaction_total.tax_total, Decimal('3.28')) self.assertEqual(transaction_total.total, Decimal('50.18'))
def createVirtualHosts(file_path, names): """ Given the datastream provided by openDataStream(), this method creates virtual host objects, linked with their respective hardware manufacturer """ # Open the datastream and get a line count records, datastream = openDataSource(file_path, names) i = 0 # For every line in the file (lines represent Virtual Machine Hosts) for row in datastream: print row["Manufacturer"], # Seek an existing vendor (since vendor is a requirement) if not Vendor.objects.filter(name=row["Manufacturer"]): # create vendor v = Vendor() v.name = row["Manufacturer"] v.save() print " ...created" else: v = Vendor.objects.get(name=row["Manufacturer"]) print " ...exists" print row["Name"], # Seek out an existing Virtual Machine Host if not VMHost.objects.filter(name=row["Name"]): # If it does not exist, create one and specify the name vmh = VMHost() vmh.name = row["Name"] print " ...created" else: # If it exists, grab it and assign it to vmh variable vmh = VMHost.objects.get(name=row["Name"]) print " ...exists" # We can now update the object and save it vmh.manufacturer = v vmh.model = row["Model"] vmh.cpuCount = int(row["NumCpu"]) vmh.cpuTotal = int(row["CpuTotalMhz"]) vmh.cpuUsage = row["CpuUsageMhz"] vmh.processor = row["ProcessorType"] vmh.save() i += 1 print "updated" result = i == records assert result, "record count {0} does not match the count of records processed {1}".format(records, i)
def createVirtualHosts(file_path, names): ''' Given the datastream provided by openDataStream(), this method creates virtual host objects, linked with their respective hardware manufacturer ''' # Open the datastream and get a line count records, datastream = openDataSource(file_path, names) i = 0 # For every line in the file (lines represent Virtual Machine Hosts) for row in datastream: print row['Manufacturer'], # Seek an existing vendor (since vendor is a requirement) if not Vendor.objects.filter(name=row['Manufacturer']): # create vendor v = Vendor() v.name = row['Manufacturer'] v.save() print ' ...created' else: v = Vendor.objects.get(name=row['Manufacturer']) print ' ...exists' print row['Name'], # Seek out an existing Virtual Machine Host if not VMHost.objects.filter(name=row['Name']): # If it does not exist, create one and specify the name vmh = VMHost() vmh.name = row['Name'] print ' ...created' else: # If it exists, grab it and assign it to vmh variable vmh = VMHost.objects.get(name=row['Name']) print ' ...exists' # We can now update the object and save it vmh.manufacturer = v vmh.model = row['Model'] vmh.cpuCount = int(row['NumCpu']) vmh.cpuTotal = int(row['CpuTotalMhz']) vmh.cpuUsage = row['CpuUsageMhz'] vmh.processor = row['ProcessorType'] vmh.save() i += 1 print 'updated' result =(i == records) assert result, "record count {0} does not match the count of records processed {1}".format(records,i)
def setUp(self): self.shift = Shift(begin_date=timezone.now()) self.shift.save() self.transaction = self.shift.create_transaction() self.transaction.save() self.vendor = Vendor(name='Brand X') self.vendor.save() self.item = Item(\ upc='12345',\ name='Product X',\ vendor=self.vendor,\ price=23.45,\ taxable=True\ ) self.item.save()
class TransactionTest(TestCase): def setUp(self): self.shift = Shift(begin_date=timezone.now()) self.shift.save() self.transaction = self.shift.create_transaction() self.transaction.save() self.vendor = Vendor(name='Brand X') self.vendor.save() self.item = Item(\ upc='12345',\ name='Product X',\ vendor=self.vendor,\ price=23.45,\ taxable=True\ ) self.item.save() def test_end_transaction(self): self.transaction.end_transaction() self.assertIsNotNone(self.transaction.finish_date) def test_cannot_end_ended_transaction(self): self.transaction.end_transaction() finish_date = self.transaction.finish_date self.transaction.end_transaction() self.assertEqual(self.transaction.finish_date, finish_date) def test_create_line_item(self): line_item = self.transaction.create_line_item(self.item, 1) self.assertIsNotNone(line_item) def test_cannot_create_line_item_on_ended_transaction(self): line_item = self.transaction.create_line_item(self.item, 1) self.transaction.end_transaction() line_item = self.transaction.create_line_item(self.item, 1) self.assertIsNone(line_item) def test_line_item_description(self): line_item = self.transaction.create_line_item(self.item, 1) self.assertEqual(line_item.description, 'Brand X Product X') def test_get_totals(self): line_item = self.transaction.create_line_item(self.item, 1) line_item.save() line_item = self.transaction.create_line_item(self.item, 1) line_item.save() transaction_total = self.transaction.get_totals() self.assertEqual(transaction_total.sub_total, Decimal('46.90')) self.assertEqual(transaction_total.tax_total, Decimal('3.28')) self.assertEqual(transaction_total.total, Decimal('50.18')) def test_paid_tender_ends_transaction(self): self.transaction.create_line_item(self.item, 1) self.transaction.create_tender(25.09, 'CASH') self.assertIsNotNone(self.transaction.finish_date)
class LineItemTest(TestCase): def setUp(self): self.shift = Shift(begin_date=timezone.now()) self.shift.save() self.transaction = self.shift.create_transaction() self.transaction.save() self.vendor = Vendor(name='Brand X') self.vendor.save() self.item = Item(\ upc='12345',\ name='Product X',\ vendor=self.vendor,\ price=23.45,\ taxable=True\ ) self.item.save() def test_line_item_total(self): line_item = self.transaction.create_line_item(self.item, 2) line_item.save() self.assertEqual(line_item.total(), Decimal(46.90))
class LineItemTest(TestCase): def setUp(self): self.shift = Shift(begin_date=timezone.now()) self.shift.save() self.transaction = self.shift.create_transaction() self.transaction.save() self.vendor = Vendor(name='Brand X') self.vendor.save() self.item = Item(\ upc='12345',\ name='Product X',\ vendor=self.vendor,\ price=23.45,\ taxable=True\ ) self.item.save() def test_line_item_total(self): line_item = self.transaction.create_line_item(self.item, 2) line_item.save() self.assertEqual(line_item.total(), Decimal(46.90))
def setUp(self): self.shift = Shift(begin_date=timezone.now()) self.shift.save() self.transaction = self.shift.create_transaction() self.transaction.save() self.vendor = Vendor(name='Brand X') self.vendor.save() self.item = Item(\ upc='12345',\ name='Product X',\ vendor=self.vendor,\ price=23.45,\ taxable=True\ ) self.item.save()
def setUp(self): self.shift = Shift(begin_date=timezone.now()) self.shift.save() self.transaction = self.shift.create_transaction() self.transaction.save() self.vendor = Vendor(name='Brand X') self.vendor.save() self.grocery = Grocery( upc='12345', name='Product X', vendor=self.vendor, price=23.45, taxable=True, scalable=False ) self.grocery.save()
class TransactionTest(TestCase): def setUp(self): self.shift = Shift(begin_date=timezone.now()) self.shift.save() self.transaction = self.shift.create_transaction() self.transaction.save() self.vendor = Vendor(name='Brand X') self.vendor.save() self.grocery = Grocery( upc='12345', name='Product X', vendor=self.vendor, price=23.45, taxable=True, scalable=False ) self.grocery.save() def test_end_transaction(self): self.transaction.end_transaction() self.assertIsNotNone(self.transaction.finish_date) def test_cannot_end_ended_transaction(self): self.transaction.end_transaction() finish_date = self.transaction.finish_date self.transaction.end_transaction() self.assertEqual(self.transaction.finish_date, finish_date) def test_create_line_item(self): line_item = self.transaction.create_line_item(self.grocery, 1) self.assertIsNotNone(line_item) def test_cannot_create_line_item_on_ended_transaction(self): self.transaction.create_line_item(self.grocery, 1) self.transaction.end_transaction() line_item = self.transaction.create_line_item(self.grocery, 1) self.assertIsNone(line_item) def test_line_item_description(self): line_item = self.transaction.create_line_item(self.grocery, 1) self.assertEqual(line_item.description, 'Brand X Product X') def test_get_totals(self): line_item = self.transaction.create_line_item(self.grocery, 1) line_item.save() line_item = self.transaction.create_line_item(self.grocery, 1) line_item.save() transaction_total = self.transaction.get_totals() self.assertEqual(transaction_total.sub_total, Decimal('46.90')) self.assertEqual(transaction_total.tax_total, Decimal('3.28')) self.assertEqual(transaction_total.total, Decimal('50.18')) def test_paid_tender_ends_transaction(self): self.transaction.create_line_item(self.grocery, 1) self.transaction.create_tender(25.09, 'CASH') self.assertIsNotNone(self.transaction.finish_date) def test_transaction_totals_with_canceled_item(self): self.transaction.create_line_item(self.grocery, 1) self.transaction.create_line_item(self.grocery, 1).cancel() transaction_total = self.transaction.get_totals() self.assertEqual(transaction_total.total, Decimal('50.18')) self.assertEqual(transaction_total.tax_total, Decimal('3.28')) self.assertEqual(transaction_total.total, Decimal('50.18')) def test_transaction_totals_with_canceled_item_again(self): line_item = self.transaction.create_line_item(self.grocery, 1) line_item.save() line_item = self.transaction.create_line_item(self.grocery, 1) line_item.cancel() line_item.save() transaction_total = self.transaction.get_totals() self.assertEqual(transaction_total.sub_total, Decimal('23.45')) self.assertEqual(transaction_total.tax_total, Decimal('1.64')) self.assertEqual(transaction_total.total, Decimal('25.09')) def test_cancel_sets_status(self): self.transaction.cancel() self.assertEqual(self.transaction.status, 'CANCELED') def test_cancel_cancels_children(self): self.transaction.create_line_item(self.grocery, 1) self.transaction.cancel() for line_item in self.transaction.lineitem_set.all(): self.assertEqual(line_item.status, 'INACTIVE') def test_cancel_ends_shift(self): self.transaction.cancel() self.assertIsNotNone(self.transaction.finish_date)
def setUp(self): self.vendor = Vendor(name='Brand X') self.item = Item(upc='12345', name='Product X', vendor=self.vendor)
def setUp(self): self.vendor = Vendor(name='Brand X')
class TransactionTest(TestCase): def setUp(self): self.shift = Shift(begin_date=timezone.now()) self.shift.save() self.transaction = self.shift.create_transaction() self.transaction.save() self.vendor = Vendor(name='Brand X') self.vendor.save() self.grocery = Grocery(upc='12345', name='Product X', vendor=self.vendor, price=23.45, taxable=True, scalable=False) self.grocery.save() def test_end_transaction(self): self.transaction.end_transaction() self.assertIsNotNone(self.transaction.finish_date) def test_cannot_end_ended_transaction(self): self.transaction.end_transaction() finish_date = self.transaction.finish_date self.transaction.end_transaction() self.assertEqual(self.transaction.finish_date, finish_date) def test_create_line_item(self): line_item = self.transaction.create_line_item(self.grocery, 1) self.assertIsNotNone(line_item) def test_cannot_create_line_item_on_ended_transaction(self): self.transaction.create_line_item(self.grocery, 1) self.transaction.end_transaction() line_item = self.transaction.create_line_item(self.grocery, 1) self.assertIsNone(line_item) def test_line_item_description(self): line_item = self.transaction.create_line_item(self.grocery, 1) self.assertEqual(line_item.description, 'Brand X Product X') def test_get_totals(self): line_item = self.transaction.create_line_item(self.grocery, 1) line_item.save() line_item = self.transaction.create_line_item(self.grocery, 1) line_item.save() transaction_total = self.transaction.get_totals() self.assertEqual(transaction_total.sub_total, Decimal('46.90')) self.assertEqual(transaction_total.tax_total, Decimal('3.28')) self.assertEqual(transaction_total.total, Decimal('50.18')) def test_paid_tender_ends_transaction(self): self.transaction.create_line_item(self.grocery, 1) self.transaction.create_tender(25.09, 'CASH') self.assertIsNotNone(self.transaction.finish_date) def test_transaction_totals_with_canceled_item(self): self.transaction.create_line_item(self.grocery, 1) self.transaction.create_line_item(self.grocery, 1).cancel() transaction_total = self.transaction.get_totals() self.assertEqual(transaction_total.total, Decimal('50.18')) self.assertEqual(transaction_total.tax_total, Decimal('3.28')) self.assertEqual(transaction_total.total, Decimal('50.18')) def test_transaction_totals_with_canceled_item_again(self): line_item = self.transaction.create_line_item(self.grocery, 1) line_item.save() line_item = self.transaction.create_line_item(self.grocery, 1) line_item.cancel() line_item.save() transaction_total = self.transaction.get_totals() self.assertEqual(transaction_total.sub_total, Decimal('23.45')) self.assertEqual(transaction_total.tax_total, Decimal('1.64')) self.assertEqual(transaction_total.total, Decimal('25.09')) def test_cancel_sets_status(self): self.transaction.cancel() self.assertEqual(self.transaction.status, 'CANCELED') def test_cancel_cancels_children(self): self.transaction.create_line_item(self.grocery, 1) self.transaction.cancel() for line_item in self.transaction.lineitem_set.all(): self.assertEqual(line_item.status, 'INACTIVE') def test_cancel_ends_shift(self): self.transaction.cancel() self.assertIsNotNone(self.transaction.finish_date)
def setUp(self): self.vendor = Vendor(name='Brand X') self.grocery = Grocery(upc='12345', name='Product X', vendor=self.vendor)