def test_should_compute_quantity_out_from_outgoing_arcs(self): node_one = DeliveryNodeFactory(quantity=50) node_two = DeliveryNodeFactory() ArcFactory(source=node_one, target=node_two, quantity=50) self.assertEqual(node_one.quantity_out(), 50) self.assertEqual(node_two.quantity_out(), 0) Arc.objects.all().delete() self.assertEqual(node_one.quantity_out(), 0)
def test_should_create_itself_with_parent_as_list_of_parent_quantity_tuples(self): parent_one = DeliveryNodeFactory(quantity=100) parent_two = DeliveryNodeFactory(quantity=40) node = DeliveryNodeFactory(parents=[(parent_one, 50), (parent_two, 40)]) self.assertEqual(node.quantity_in(), 90) self.assertEqual(parent_one.quantity_out(), 50) self.assertEqual(parent_two.quantity_out(), 40)
def test_should_create_itself_with_parent_as_list_of_parent_quantity_tuples( self): parent_one = DeliveryNodeFactory(quantity=100) parent_two = DeliveryNodeFactory(quantity=40) node = DeliveryNodeFactory(parents=[(parent_one, 50), (parent_two, 40)]) self.assertEqual(node.quantity_in(), 90) self.assertEqual(parent_one.quantity_out(), 50) self.assertEqual(parent_two.quantity_out(), 40)
def test_should_create_delivery_node_with_parents(self): node_one = DeliveryNodeFactory() node_two = DeliveryNodeFactory() self.node_details['parents'] = [{'id': node_one.id, 'quantity': 5}, {'id': node_two.id, 'quantity': 6}] response = self.client.post(ENDPOINT_URL, data=json.dumps(self.node_details), content_type='application/json') node = DeliveryNode.objects.get(pk=response.data['id']) self.assertEqual(response.status_code, 201) self.assertTrue(node.quantity_in(), 11) self.assertTrue(node_one.quantity_out(), 5) self.assertTrue(node_two.quantity_out(), 6)
def test_should_create_delivery_node_with_parents(self): self.log_ip_editor_in() node_one = DeliveryNodeFactory() node_two = DeliveryNodeFactory() self.node_details['parents'] = [{'id': node_one.id, 'quantity': 5}, {'id': node_two.id, 'quantity': 6}] response = self.client.post(ENDPOINT_URL, data=json.dumps(self.node_details), content_type='application/json') node = DeliveryNode.objects.get(pk=response.data['id']) self.assertEqual(response.status_code, 201) self.assertTrue(node.quantity_in(), 11) self.assertTrue(node_one.quantity_out(), 5) self.assertTrue(node_two.quantity_out(), 6)