class LogTestCase(APITestCase): def setUp(self): """ Set up for log tests """ self.fabric = Fabric(pattern="Max", color="Grey", quantity="12", units="yd", description="Max Col: Grey") self.fabric.save() self.log = Log.objects.create( message="Reserved 5yd", acknowledgement_id=1002, action="RESERVE", quantity=10, supply=self.fabric ) def test_cut_fabric(self): data = { "id": 1, "message": "Reserve 5yd", "action": "CUT", "quantity": 8, "supply": {"id": 1, "image": {"id": 100}}, } resp = self.client.put("/api/v1/log/1/", data=data, format="json") self.assertEqual(resp.status_code, 200, msg=resp) log_data = resp.data self.assertEqual(log_data["id"], 1) self.assertEqual(log_data["message"], "8yd of Max Col: Grey cut for Ack #1002") self.assertEqual(Decimal(log_data["quantity"]), Decimal("8")) self.assertEqual(log_data["acknowledgement_id"], "1002") self.assertEqual(log_data["action"], "SUBTRACT") fabric = Fabric.objects.get(pk=1) self.assertEqual(fabric.quantity, 4) def test_cancel_fabric_reservation(self): data = { "id": 1, "message": "Reserve 5yd", "action": "CANCEL", "quantity": 10, "supply": {"id": 1, "image": {"id": 100}}, } resp = self.client.put("/api/v1/log/1/", data=data, format="json") self.assertEqual(resp.status_code, 200, msg=resp) log_data = resp.data self.assertEqual(log_data["id"], 1) self.assertEqual(log_data["message"], "Cancelled reservation of Max Col: Grey for Ack #1002") self.assertEqual(Decimal(log_data["quantity"]), Decimal("10")) self.assertEqual(log_data["acknowledgement_id"], "1002") self.assertEqual(log_data["action"], "CANCELLED") fabric = Fabric.objects.get(pk=1) self.assertEqual(fabric.quantity, 12)
def setUp(self): """ Set up for log tests """ self.fabric = Fabric(pattern="Max", color="Grey", quantity="12", units='yd', description="Max Col: Grey") self.fabric.save() self.log = Log.objects.create(message="Reserved 5yd", acknowledgement_id=1002, action="RESERVE", quantity=10, supply=self.fabric)
def setUp(self): """ Sets up environment for tests """ super(TestItemResource, self).setUp() self.create_user() self.client.login(username='******', password='******') #Create supplier, customer and addrss self.customer = Customer(**base_customer) self.customer.save() self.supplier = Supplier(**base_supplier) self.supplier.save() self.address = Address(address1="Jiggle", contact=self.customer) self.address.save() #Create a product to add self.product = Product.create(self.user, **base_product) self.product.save() self.fabric = Fabric.create(**base_fabric) f_data = base_fabric.copy() f_data["pattern"] = "Stripe" self.fabric2 = Fabric.create(**f_data) #Create acknowledgement ack_data = base_ack.copy() del ack_data['customer'] del ack_data['items'] del ack_data['employee'] del ack_data['project'] self.ack = Estimate(**ack_data) self.ack.customer = self.customer self.ack.employee = self.user self.ack.save() #Create an item self.item_data = { 'id': 1, 'quantity': 1, 'is_custom_size': True, 'width': 1500, "fabric": { "id": 1 } } self.item = Item.create(acknowledgement=self.ack, **self.item_data)
def setUp(self): """ Set up for log tests """ self.fabric = Fabric(pattern="Max", color="Grey", quantity="12", units="yd", description="Max Col: Grey") self.fabric.save() self.log = Log.objects.create( message="Reserved 5yd", acknowledgement_id=1002, action="RESERVE", quantity=10, supply=self.fabric )
def setUp(self): """ Sets up environment for tests """ super(TestItemResource, self).setUp() self.create_user() self.client.login(username='******', password='******') #Create supplier, customer and addrss self.customer = Customer(**base_customer) self.customer.save() self.supplier = Supplier(**base_supplier) self.supplier.save() self.address = Address(address1="Jiggle", contact=self.customer) self.address.save() #Create a product to add self.product = Product.create(self.user, **base_product) self.product.save() self.fabric = Fabric.create(**base_fabric) f_data = base_fabric.copy() f_data["pattern"] = "Stripe" self.fabric2 = Fabric.create(**f_data) #Create acknowledgement ack_data = base_ack.copy() del ack_data['customer'] del ack_data['items'] del ack_data['employee'] del ack_data['project'] self.ack = Estimate(**ack_data) self.ack.customer = self.customer self.ack.employee = self.user self.ack.save() #Create an item self.item_data = {'id': 1, 'quantity': 1, 'is_custom_size': True, 'width': 1500, "fabric": {"id":1}} self.item = Item.create(acknowledgement=self.ack, **self.item_data)
def setUp(self): """ Set up dependent objects """ super(ItemTest, self).setUp() self.ct = ContentType(app_label="po") self.ct.save() self.p = Permission(codename="add_purchaseorder", content_type=self.ct) self.p.save() self.p2 = Permission(codename="change_purchaseorder", content_type=self.ct) self.p2.save() #Create the user self.username = '******' self.password = '******' self.user = User.objects.create_user( self.username, '*****@*****.**', self.password) self.user.save() self.user.user_permissions.add(self.p) self.user.user_permissions.add(self.p2) self.client.login(username=self.username, password=self.password) self.supplier = Supplier(**base_supplier) self.supplier.save() self.address = Address(**base_address) self.address.contact = self.supplier self.address.save() self.contact = SupplierContact(name='test', email='*****@*****.**', telephone=1234, primary=True) self.contact.supplier = self.supplier self.contact.save() self.supply = Fabric.create(**base_fabric) #self.supply.units = "m^2" self.supply.save() self.po = PurchaseOrder() self.po.employee = self.user self.po.supplier = self.supplier self.po.terms = self.supplier.terms self.po.vat = 7 self.po.order_date = datetime.datetime(2014, 3, 2) self.po.save() self.item = Item(unit_cost=Decimal('13.55'), quantity=Decimal('10'), supply=self.supply) self.item.description = self.supply.description self.item.purchase_order = self.po self.item.save()
def setUp(self): """ Set up the view -login the user """ super(FabricAPITestCase, self).setUp() self.create_user() self.client.login(username='******', password='******') self.supplier = Supplier(**base_supplier) self.supplier.save() self.supply = Fabric.create(**base_fabric) self.assertIsNotNone(self.supply.pk) self.supply2 = Fabric.create(**base_fabric) self.assertIsNotNone(self.supply.pk) self.product = Product(supplier=self.supplier, supply=self.supply) self.product.save()
def setUp(self): """ Set up the view -login the user """ super(FabricAPITestCase, self).setUp() self.create_user() self.client.login(username="******", password="******") self.supplier = Supplier(**base_supplier) self.supplier.save() self.supply = Fabric.create(**base_fabric) self.assertIsNotNone(self.supply.pk) self.supply2 = Fabric.create(**base_fabric) self.assertIsNotNone(self.supply.pk) self.product = Product(supplier=self.supplier, supply=self.supply) self.product.save()
def setUp(self): """ Set up dependent objects """ super(ItemTest, self).setUp() self.ct = ContentType(app_label="po") self.ct.save() self.p = Permission(codename="add_purchaseorder", content_type=self.ct) self.p.save() self.p2 = Permission(codename="change_purchaseorder", content_type=self.ct) self.p2.save() #Create the user self.username = '******' self.password = '******' self.user = User.objects.create_user(self.username, '*****@*****.**', self.password) self.user.save() self.user.user_permissions.add(self.p) self.user.user_permissions.add(self.p2) self.client.login(username=self.username, password=self.password) self.supplier = Supplier(**base_supplier) self.supplier.save() self.address = Address(**base_address) self.address.contact = self.supplier self.address.save() self.contact = SupplierContact(name='test', email='*****@*****.**', telephone=1234, primary=True) self.contact.supplier = self.supplier self.contact.save() self.supply = Fabric.create(**base_fabric) #self.supply.units = "m^2" self.supply.save() self.po = PurchaseOrder() self.po.employee = self.user self.po.supplier = self.supplier self.po.terms = self.supplier.terms self.po.vat = 7 self.po.order_date = datetime.datetime(2014, 3, 2) self.po.save() self.item = Item(unit_cost=Decimal('13.55'), quantity=Decimal('10'), supply=self.supply) self.item.description = self.supply.description self.item.purchase_order = self.po self.item.save()
def setUp(self): """ Set up for the Acknowledgement Test Objects created: -User -Customer -Supplier -Address -product -2 fabrics After Creating all the needed objects for the Acknowledgement, test that all the objects have been made. """ super(ShippingResourceTest, self).setUp() self.ct = ContentType(app_label="shipping") self.ct.save() #Create the user self.username = '******' self.password = '******' self.user = User.objects.create_user(self.username, '*****@*****.**', self.password) self.user.save() p = Permission(content_type=self.ct, codename="change_shipping") p.save() p2 = Permission(content_type=self.ct, codename="add_shipping") p2.save() self.user.user_permissions.add(p) self.user.user_permissions.add(p2) self.user.save() self.setup_client() #Create supplier, customer and addrss self.customer = Customer(**base_customer) self.customer.save() self.supplier = Supplier(**base_supplier) self.supplier.save() self.address = Address(address1="Jiggle", contact=self.customer) self.address.save() #Create project self.project = Project.objects.create(codename="Ladawan") #Create phase self.phase = Phase.objects.create(description="Phase 1/6", project=self.project) #Create a product to add self.product = Product.create(self.user, **base_product) self.product.save() self.fabric = Fabric.create(**base_fabric) f_data = base_fabric.copy() f_data["pattern"] = "Stripe" self.fabric2 = Fabric.create(**f_data) #Create acknowledgement ack_data = base_ack.copy() del ack_data['customer'] del ack_data['items'] del ack_data['employee'] self.ack = Acknowledgement(**ack_data) self.ack.customer = self.customer self.ack.employee = self.user self.ack.save() #Create an item item_data = { 'id': 1, 'quantity': 1, 'is_custom_size': True, 'width': 1500, "fabric": { "id": 1 } } self.item = AckItem.create(acknowledgement=self.ack, **item_data) #Create an item item_data = { 'id': 1, 'quantity': 2, 'is_custom_size': True, 'width': 1500, "fabric": { "id": 1 } } self.item2 = AckItem.create(acknowledgement=self.ack, **item_data)
def setUp(self): """ Set up for the Estimate Test Objects created: -User -Customer -Supplier -Address -product -2 fabrics After Creating all the needed objects for the Estimate, test that all the objects have been made. """ super(EstimateResourceTest, self).setUp() # Set Base URL self.base_url = '{0}'.format('/api/v1/estimate/') self.ct = ContentType(app_label="estimates") self.ct.save() #Create the user self.username = '******' self.password = '******' self.user = User.objects.create_user(self.username, '*****@*****.**', self.password) p = Permission(content_type=self.ct, codename="change_estimate") p.save() p2 = Permission(content_type=self.ct, codename="add_estimate") p2.save() self.user.user_permissions.add(p) self.user.user_permissions.add(p2) self.user.save() self.setup_client() #Create supplier, customer and addrss customer = copy.deepcopy(base_customer) del customer['id'] self.customer = Customer(**customer) self.customer.save() self.supplier = Supplier(**base_supplier) self.supplier.save() self.address = Address(address1="Jiggle", contact=self.customer) self.address.save() #Create a product to add self.product = Product.create(self.user, **base_product) self.product.save() #Create custom product self.custom_product = Product() self.custom_product.id = 10436 self.custom_product.save() self.fabric = Fabric.create(**base_fabric) self.fabric.quantity = 26 self.fabric.save() f_data = base_fabric.copy() f_data["pattern"] = "Stripe" self.fabric2 = Fabric.create(**f_data) #Create custom product self.custom_product = Product.create(self.user, description="Custom Custom", id=10436, width=0, depth=0, height=0, price=0, wholesale_price=0, retail_price=0) self.custom_product.id = 10436 self.custom_product.save() self.image = S3Object(key='test', bucket='test') self.image.save() #Create acknowledgement ack_data = base_ack.copy() del ack_data['customer'] del ack_data['items'] del ack_data['employee'] del ack_data['project'] self.ack = Estimate(**ack_data) self.ack.customer = self.customer self.ack.employee = self.user self.ack.save() #Create an item item_data = { 'id': 1, 'quantity': 1, 'is_custom_size': True, 'width': 1500, "fabric": { "id": 1 } } self.item = Item.create(estimate=self.ack, **item_data) item_data = { 'is_custom': True, 'description': 'F-04 Sofa', 'quantity': 3 } self.item2 = Item.create(estimate=self.ack, **item_data) #Create fake S3Objects to test files attached to acknowledgements self.file1 = S3Object(key='test1', bucket='test') self.file2 = S3Object(key='test2', bucket='test') self.file1.save() self.file2.save()
def setUp(self): """ Set up dependent objects """ super(PurchaseOrderTest, self).setUp() self.ct = ContentType(app_label="po") self.ct.save() self.p = Permission(codename="add_purchaseorder", content_type=self.ct) self.p.save() self.p2 = Permission(codename="change_purchaseorder", content_type=self.ct) self.p2.save() #Create the user self.username = '******' self.password = '******' self.user = User.objects.create_user( self.username, '*****@*****.**', self.password) self.user.save() self.user.user_permissions.add(self.p) self.user.user_permissions.add(self.p2) self.client.login(username=self.username, password=self.password) self.client.force_authenticate(self.user) self.supplier = Supplier(**base_supplier) self.supplier.save() self.address = Address(**base_address) self.address.contact = self.supplier self.address.save() self.contact = SupplierContact(name='test', email='*****@*****.**', telephone=1234, primary=True) self.contact.supplier = self.supplier self.contact.save() # Create Custom Supply # not implemented # Create Fabric self.supply = Fabric.create(**base_fabric) #self.supply.units = "m^2" self.supply.save() self.supply1 = self.supply self.product = Product(supply=self.supply, supplier=self.supplier, cost=base_fabric['unit_cost'], purchasing_units='m') self.product.save() self.supply2 = Fabric.create(**base_fabric2) self.supply2.discount = 5 self.supply2.save() self.product2 = Product(supply=self.supply2, supplier=self.supplier, cost=base_fabric['unit_cost']) self.product2.save() self.supply1.supplier = self.supplier self.supply2.supplier = self.supplier #Create supply with no target item self.supply3 = Supply.objects.create(description='test supply') self.supply3.id = 203 self.supply3.save() #Create a project self.project = Project() self.project.codename = 'MC House' self.project.save() self.po = PurchaseOrder() self.po.employee = self.user self.po.supplier = self.supplier self.po.terms = self.supplier.terms self.po.vat = 7 self.order_date = datetime.datetime(2017, 1, 15, 15, 30, 0, 0, tzinfo=timezone('Asia/Bangkok')) self.po.order_date = self.order_date self.po.receive_date = datetime.datetime.now() self.po.save() #self.po.create_and_upload_pdf() self.item = Item.create(supplier=self.supplier, id=1, **base_purchase_order['items'][0]) self.item.purchase_order = self.po self.item.save() self.po.calculate_total() self.po.save()
def setUp(self): """ Set up for the Acknowledgement Test Objects created: -User -Customer -Supplier -Address -product -2 fabrics After Creating all the needed objects for the Acknowledgement, test that all the objects have been made. """ super(ShippingResourceTest, self).setUp() self.ct = ContentType(app_label="shipping") self.ct.save() #Create the user self.username = '******' self.password = '******' self.user = User.objects.create_user(self.username, '*****@*****.**', self.password) self.user.save() p = Permission(content_type=self.ct, codename="change_shipping") p.save() p2 = Permission(content_type=self.ct, codename="add_shipping") p2.save() self.user.user_permissions.add(p) self.user.user_permissions.add(p2) self.user.save() self.setup_client() #Create supplier, customer and addrss self.customer = Customer(**base_customer) self.customer.save() self.supplier = Supplier(**base_supplier) self.supplier.save() self.address = Address(address1="Jiggle", contact=self.customer) self.address.save() #Create project self.project = Project.objects.create(codename="Ladawan") #Create phase self.phase = Phase.objects.create(description="Phase 1/6", project=self.project) #Create a product to add self.product = Product.create(self.user, **base_product) self.product.save() self.fabric = Fabric.create(**base_fabric) f_data = base_fabric.copy() f_data["pattern"] = "Stripe" self.fabric2 = Fabric.create(**f_data) #Create acknowledgement ack_data = base_ack.copy() del ack_data['customer'] del ack_data['items'] del ack_data['employee'] self.ack = Acknowledgement(**ack_data) self.ack.customer = self.customer self.ack.employee = self.user self.ack.save() #Create an item item_data = {'id': 1, 'quantity': 1, 'is_custom_size': True, 'width': 1500, "fabric": {"id":1}} self.item = AckItem.create(acknowledgement=self.ack, **item_data) #Create an item item_data = {'id': 1, 'quantity': 2, 'is_custom_size': True, 'width': 1500, "fabric": {"id":1}} self.item2 = AckItem.create(acknowledgement=self.ack, **item_data)
resp = session.get(url_base + "fabrics.aspx?fabric_status=Current", data=page_data) page = BeautifulSoup(resp.text) links = extract_links(page) #Extract Fabric details for link in links: fabric_data = visit_and_extract_fabric_details(session, link) fabrics.append(fabric_data) supplier = Supplier.objects.get(pk=76) for f in fabrics: try: fabric = Fabric.objects.get(pattern=f['pattern'], color=f['color']) except Fabric.DoesNotExist: fabric = Fabric(pattern=f['pattern'], color=f['color']) fabric.content = f['composition'] fabric.handling = f['handling'] fabric.grade = f['grade'] fabric.repeat = f['repeat'] fabric.units = 'yd' fabric.type = 'fabric' fabric.save() filename = "{0} Col: {1}".format(fabric.pattern, fabric.color) fabric.description = filename fabric.save() print fabric.id, fabric.description
data=page_data) page = BeautifulSoup(resp.text) links = extract_links(page) #Extract Fabric details for link in links: fabric_data = visit_and_extract_fabric_details(session, link) fabrics.append(fabric_data) supplier = Supplier.objects.get(pk=76) for f in fabrics: try: fabric = Fabric.objects.get(pattern=f['pattern'], color=f['color']) except Fabric.DoesNotExist: fabric = Fabric(pattern=f['pattern'], color=f['color']) fabric.content = f['composition'] fabric.handling = f['handling'] fabric.grade = f['grade'] fabric.repeat = f['repeat'] fabric.units = 'yd' fabric.type = 'fabric' fabric.save() filename = "{0} Col: {1}".format(fabric.pattern, fabric.color) fabric.description = filename fabric.save() print fabric.id, fabric.description
class LogTestCase(APITestCase): def setUp(self): """ Set up for log tests """ self.fabric = Fabric(pattern="Max", color="Grey", quantity="12", units='yd', description="Max Col: Grey") self.fabric.save() self.log = Log.objects.create(message="Reserved 5yd", acknowledgement_id=1002, action="RESERVE", quantity=10, supply=self.fabric) def test_cut_fabric(self): data = { 'id': 1, 'message': 'Reserve 5yd', 'action': "CUT", 'quantity': 8, 'supply': { 'id': 1, 'image': { 'id': 100 } } } resp = self.client.put('/api/v1/log/1/', data=data, format='json') self.assertEqual(resp.status_code, 200, msg=resp) log_data = resp.data self.assertEqual(log_data['id'], 1) self.assertEqual(log_data['message'], "8yd of Max Col: Grey cut for Ack #1002") self.assertEqual(Decimal(log_data['quantity']), Decimal('8')) self.assertEqual(log_data['acknowledgement_id'], '1002') self.assertEqual(log_data['action'], "SUBTRACT") fabric = Fabric.objects.get(pk=1) self.assertEqual(fabric.quantity, 4) def test_cancel_fabric_reservation(self): data = { 'id': 1, 'message': 'Reserve 5yd', 'action': "CANCEL", 'quantity': 10, 'supply': { 'id': 1, 'image': { 'id': 100 } } } resp = self.client.put('/api/v1/log/1/', data=data, format='json') self.assertEqual(resp.status_code, 200, msg=resp) log_data = resp.data self.assertEqual(log_data['id'], 1) self.assertEqual( log_data['message'], "Cancelled reservation of Max Col: Grey for Ack #1002") self.assertEqual(Decimal(log_data['quantity']), Decimal('10')) self.assertEqual(log_data['acknowledgement_id'], '1002') self.assertEqual(log_data['action'], "CANCELLED") fabric = Fabric.objects.get(pk=1) self.assertEqual(fabric.quantity, 12)
def setUp(self): """ Set up for the Estimate Test Objects created: -User -Customer -Supplier -Address -product -2 fabrics After Creating all the needed objects for the Estimate, test that all the objects have been made. """ super(EstimateResourceTest, self).setUp() self.ct = ContentType(app_label="estimates") self.ct.save() #Create the user self.username = '******' self.password = '******' self.user = User.objects.create_user(self.username, '*****@*****.**', self.password) p = Permission(content_type=self.ct, codename="change_estimate") p.save() p2 = Permission(content_type=self.ct, codename="add_estimate") p2.save() self.user.user_permissions.add(p) self.user.user_permissions.add(p2) self.user.save() #Create supplier, customer and addrss customer = copy.deepcopy(base_customer) del customer['id'] self.customer = Customer(**customer) self.customer.save() self.supplier = Supplier(**base_supplier) self.supplier.save() self.address = Address(address1="Jiggle", contact=self.customer) self.address.save() #Create a product to add self.product = Product.create(self.user, **base_product) self.product.save() #Create custom product self.custom_product = Product() self.custom_product.id = 10436 self.custom_product.save() self.fabric = Fabric.create(**base_fabric) self.fabric.quantity = 26 self.fabric.save() f_data = base_fabric.copy() f_data["pattern"] = "Stripe" self.fabric2 = Fabric.create(**f_data) #Create custom product self.custom_product = Product.create(self.user, description="Custom Custom", id=10436, width=0, depth=0, height=0, price=0, wholesale_price=0, retail_price=0) self.custom_product.id = 10436 self.custom_product.save() self.image = S3Object(key='test', bucket='test') self.image.save() #Create acknowledgement ack_data = base_ack.copy() del ack_data['customer'] del ack_data['items'] del ack_data['employee'] del ack_data['project'] self.ack = Estimate(**ack_data) self.ack.customer = self.customer self.ack.employee = self.user self.ack.save() #Create an item item_data = {'id': 1, 'quantity': 1, 'is_custom_size': True, 'width': 1500, "fabric": {"id":1}} self.item = Item.create(estimate=self.ack, **item_data) item_data = {'is_custom': True, 'description': 'F-04 Sofa', 'quantity': 3} self.item2 = Item.create(estimate=self.ack, **item_data) self.client.login(username="******", password="******") #Create fake S3Objects to test files attached to acknowledgements self.file1 = S3Object(key='test1', bucket='test') self.file2 = S3Object(key='test2', bucket='test') self.file1.save() self.file2.save()
def setUp(self): """ Set up dependent objects """ super(PurchaseOrderTest, self).setUp() self.ct = ContentType(app_label="po") self.ct.save() self.p = Permission(codename="add_purchaseorder", content_type=self.ct) self.p.save() self.p2 = Permission(codename="change_purchaseorder", content_type=self.ct) self.p2.save() #Create the user self.username = '******' self.password = '******' self.user = User.objects.create_user(self.username, '*****@*****.**', self.password) self.user.save() self.user.user_permissions.add(self.p) self.user.user_permissions.add(self.p2) self.client.login(username=self.username, password=self.password) self.supplier = Supplier(**base_supplier) self.supplier.save() self.address = Address(**base_address) self.address.contact = self.supplier self.address.save() self.contact = SupplierContact(name='test', email='*****@*****.**', telephone=1234, primary=True) self.contact.supplier = self.supplier self.contact.save() self.supply = Fabric.create(**base_fabric) #self.supply.units = "m^2" self.supply.save() self.supply1 = self.supply self.product = Product(supply=self.supply, supplier=self.supplier, cost=base_fabric['unit_cost'], purchasing_units='m') self.product.save() self.supply2 = Fabric.create(**base_fabric2) self.supply2.discount = 5 self.supply2.save() self.product2 = Product(supply=self.supply2, supplier=self.supplier, cost=base_fabric['unit_cost']) self.product2.save() self.supply.supplier = self.supplier self.supply2.supplier = self.supplier #Create a project self.project = Project() self.project.codename = 'MC House' self.project.save() self.po = PurchaseOrder() self.po.employee = self.user self.po.supplier = self.supplier self.po.terms = self.supplier.terms self.po.vat = 7 self.po.order_date = datetime.datetime(2014, 3, 2) self.po.save() #self.po.create_and_upload_pdf() self.item = Item.create(supplier=self.supplier, id=1, **base_purchase_order['items'][0]) self.item.purchase_order = self.po self.item.save() self.po.calculate_total() self.po.save()
class LogTestCase(APITestCase): def setUp(self): """ Set up for log tests """ self.fabric = Fabric(pattern="Max", color="Grey", quantity="12", units='yd', description="Max Col: Grey") self.fabric.save() self.log = Log.objects.create(message="Reserved 5yd", acknowledgement_id=1002, action="RESERVE", quantity=10, supply=self.fabric) def test_cut_fabric(self): data = {'id': 1, 'message': 'Reserve 5yd', 'action': "CUT", 'quantity': 8, 'supply': {'id': 1, 'image': {'id': 100}}} resp = self.client.put('/api/v1/log/1/', data=data, format='json') self.assertEqual(resp.status_code, 200, msg=resp) log_data = resp.data self.assertEqual(log_data['id'], 1) self.assertEqual(log_data['message'], "8yd of Max Col: Grey cut for Ack #1002") self.assertEqual(Decimal(log_data['quantity']), Decimal('8')) self.assertEqual(log_data['acknowledgement_id'], '1002') self.assertEqual(log_data['action'], "SUBTRACT") fabric = Fabric.objects.get(pk=1) self.assertEqual(fabric.quantity, 4) def test_cancel_fabric_reservation(self): data = {'id': 1, 'message': 'Reserve 5yd', 'action': "CANCEL", 'quantity': 10, 'supply': {'id': 1, 'image': {'id': 100}}} resp = self.client.put('/api/v1/log/1/', data=data, format='json') self.assertEqual(resp.status_code, 200, msg=resp) log_data = resp.data self.assertEqual(log_data['id'], 1) self.assertEqual(log_data['message'], "Cancelled reservation of Max Col: Grey for Ack #1002") self.assertEqual(Decimal(log_data['quantity']), Decimal('10')) self.assertEqual(log_data['acknowledgement_id'], '1002') self.assertEqual(log_data['action'], "CANCELLED") fabric = Fabric.objects.get(pk=1) self.assertEqual(fabric.quantity, 12)