From fcc6a50e6c31e5bca90658b17a6cb2b923d91f71 Mon Sep 17 00:00:00 2001 From: Alain Takoudjou <talino@tiolive.com> Date: Wed, 2 Dec 2015 10:48:20 +0100 Subject: [PATCH] fix test Sale Packing List generation from TioXML file --- .../test.erp5.testSlapOSConsumptionSkins.py | 153 ++++++++++++------ 1 file changed, 106 insertions(+), 47 deletions(-) diff --git a/master/bt5/slapos_accounting/TestTemplateItem/portal_components/test.erp5.testSlapOSConsumptionSkins.py b/master/bt5/slapos_accounting/TestTemplateItem/portal_components/test.erp5.testSlapOSConsumptionSkins.py index d774022ed..fde110e75 100644 --- a/master/bt5/slapos_accounting/TestTemplateItem/portal_components/test.erp5.testSlapOSConsumptionSkins.py +++ b/master/bt5/slapos_accounting/TestTemplateItem/portal_components/test.erp5.testSlapOSConsumptionSkins.py @@ -300,10 +300,20 @@ class TestSlapOSComputerConsumptionTioXMLFile_solveInvoicingGeneration( reference=reference, password=password) person.newContent(portal_type='Assignment', role='member').open() + # Create second person + password = self.generateNewId() + reference = 'test_%s' % self.generateNewId() + second_person = self.portal.person_module.newContent(portal_type='Person', + title=reference, + reference=reference, password=password) + second_person.newContent(portal_type='Assignment', role='member').open() + transaction.commit() person.recursiveImmediateReindexObject() self.person = person self.person_reference = person.getReference() + self.second_person = second_person + self.second_person_reference = second_person.getReference() new_id = self.generateNewId() @@ -312,7 +322,8 @@ class TestSlapOSComputerConsumptionTioXMLFile_solveInvoicingGeneration( .Base_createCloneDocument(batch_mode=1) self.computer.edit( title="Computer %s" % new_id, - reference="TESTCOMP-%s" % new_id + reference="TESTCOMP-%s" % new_id, + source_administration_value=person ) self.computer.validate() @@ -327,7 +338,7 @@ class TestSlapOSComputerConsumptionTioXMLFile_solveInvoicingGeneration( ) self.stop_requested_software_instance.getSpecialiseValue().edit( - destination_section_value=person + destination_section_value=second_person ) return self.computer @@ -385,9 +396,7 @@ class TestSlapOSComputerConsumptionTioXMLFile_solveInvoicingGeneration( self.person.getRelativeUrl()) self.assertEqual(delivery.getStartDate(), document.getCreationDate()) - self.assertEqual(delivery.getTitle(), - "%s Consumption Usage" % \ - self.start_requested_software_instance.getReference()) + self.assertEqual(delivery.getTitle(), 'Resource consumptions茅') self.assertEqual(delivery.getSimulationState(), "delivered") self.assertEqual(delivery.getCausalityState(), "building") self.assertEqual(delivery.getSpecialise(), @@ -409,6 +418,65 @@ class TestSlapOSComputerConsumptionTioXMLFile_solveInvoicingGeneration( self.assertEqual(line.getQuantityUnit(), "unit/piece") + tio_dict = { + 'title': 'Resource consumptions茅', + 'movement': [{ + 'title': 'foo脿', + 'resource': 'service_module/slapos_netdrive_consumption', + 'reference': 'partition2', + 'quantity': 42.42, + 'category': "cat茅", + }], + } + @simulate('ComputerConsumptionTioXMLFile_parseXml', + '*args, **kwargs', + "return %s" % tio_dict) + def test_solveInvoicingGeneration_valid_xml_one_movement_partition2(self): + document = self.createTioXMLFile() + computer = self.createAllocatedComputer() + document.edit( + contributor_value=computer, + ) + self.tic() + self.assertEqual(document.getValidationState(), "submitted") + result = document.ComputerConsumptionTioXMLFile_solveInvoicingGeneration() + self.assertEqual(document.getValidationState(), "shared") + self.assertEqual("Created packing list: %s" % result, + document.workflow_history['document_publication_workflow'][-1]['comment']) + self.assertEqual(len(result), 1) + delivery = self.portal.restrictedTraverse(result[0]) + + self.assertEqual(delivery.getPortalType(), "Sale Packing List") + self.assertEqual(delivery.getDestination(), self.person.getRelativeUrl()) + self.assertEqual(delivery.getDestinationDecision(), + self.person.getRelativeUrl()) + self.assertEqual(delivery.getStartDate(), + document.getCreationDate()) + self.assertEqual(delivery.getTitle(), 'Resource consumptions茅') + self.assertEqual(delivery.getSimulationState(), "delivered") + self.assertEqual(delivery.getCausalityState(), "building") + self.assertEqual(delivery.getSpecialise(), + "sale_trade_condition_module/slapos_consumption_trade_condition") + + self.assertEqual( + len(delivery.contentValues(portal_type="Sale Packing List Line")), 1) + line = delivery.contentValues(portal_type="Sale Packing List Line")[0] + + self.assertEqual(line.getTitle(), "foo脿") + self.assertEqual(line.getQuantity(), 42.42) + self.assertEqual(line.getAggregateList(), [ + self.computer.partition2.getRelativeUrl(), + self.stop_requested_software_instance.getRelativeUrl(), + self.stop_requested_software_instance.getSpecialise() + ]) + self.assertEqual(line.getDestination(), self.second_person.getRelativeUrl()) + self.assertEqual(line.getDestinationDecision(), + self.second_person.getRelativeUrl()) + self.assertEqual(line.getResource(), + "service_module/slapos_netdrive_consumption") + self.assertEqual(line.getQuantityUnit(), + "unit/piece") + tio_dict = { 'title': 'Resource consumptions茅', 'movement': [{ @@ -449,12 +517,10 @@ class TestSlapOSComputerConsumptionTioXMLFile_solveInvoicingGeneration( self.person.getRelativeUrl()) self.assertEqual(delivery.getStartDate(), document.getCreationDate()) - self.assertEqual(delivery.getTitle(), - "%s Consumption Usage" % \ - self.start_requested_software_instance.getReference()) + self.assertEqual(delivery.getTitle(), 'Resource consumptions茅') self.assertEqual(delivery.getSimulationState(), "delivered") self.assertEqual(delivery.getCausalityState(), "building") - self.assertEqual(delivery.getSpecialise(), + self.assertEqual(delivery.getSpecialise(), "sale_trade_condition_module/slapos_consumption_trade_condition") self.assertEqual( @@ -468,6 +534,9 @@ class TestSlapOSComputerConsumptionTioXMLFile_solveInvoicingGeneration( self.start_requested_software_instance.getRelativeUrl(), self.start_requested_software_instance.getSpecialise() ]) + self.assertEqual(line.getDestination(), self.person.getRelativeUrl()) + self.assertEqual(line.getDestinationDecision(), + self.person.getRelativeUrl()) self.assertEqual(line.getResource(), "service_module/slapos_netdrive_consumption") self.assertEqual(line.getQuantityUnit(), @@ -481,6 +550,9 @@ class TestSlapOSComputerConsumptionTioXMLFile_solveInvoicingGeneration( self.start_requested_software_instance.getRelativeUrl(), self.start_requested_software_instance.getSpecialise() ]) + self.assertEqual(line.getDestination(), self.person.getRelativeUrl()) + self.assertEqual(line.getDestinationDecision(), + self.person.getRelativeUrl()) self.assertEqual(line.getResource(), "service_module/slapos_netdrive_consumption") self.assertEqual(line.getQuantityUnit(), @@ -517,9 +589,9 @@ class TestSlapOSComputerConsumptionTioXMLFile_solveInvoicingGeneration( self.assertEqual(document.getValidationState(), "shared") self.assertEqual("Created packing list: %s" % result, document.workflow_history['document_publication_workflow'][-1]['comment']) - self.assertEqual(len(result), 2) + self.assertEqual(len(result), 1) - # Delivery 1 + # One Delivery delivery = self.portal.restrictedTraverse(result[0]) self.assertEqual(delivery.getPortalType(), "Sale Packing List") @@ -528,59 +600,46 @@ class TestSlapOSComputerConsumptionTioXMLFile_solveInvoicingGeneration( self.person.getRelativeUrl()) self.assertEqual(delivery.getStartDate(), document.getCreationDate()) - self.assertEqual(delivery.getTitle(), - "%s Consumption Usage" % \ - self.start_requested_software_instance.getReference()) + self.assertEqual(delivery.getTitle(), 'Resource consumptions茅') self.assertEqual(delivery.getSimulationState(), "delivered") self.assertEqual(delivery.getCausalityState(), "building") self.assertEqual(delivery.getSpecialise(), "sale_trade_condition_module/slapos_consumption_trade_condition") self.assertEqual( - len(delivery.contentValues(portal_type="Sale Packing List Line")), 1) + len(delivery.contentValues(portal_type="Sale Packing List Line")), 2) - line = delivery.contentValues(portal_type="Sale Packing List Line")[0] - self.assertEqual(line.getTitle(), "foo脿") - self.assertEqual(line.getQuantity(), 42.42) - self.assertEqual(line.getAggregateList(), [ + # Sale Packing List Line 1 + line1 = delivery.contentValues(portal_type="Sale Packing List Line")[0] + self.assertEqual(line1.getTitle(), "foo脿") + self.assertEqual(line1.getQuantity(), 42.42) + self.assertEqual(line1.getAggregateList(), [ self.computer.partition1.getRelativeUrl(), self.start_requested_software_instance.getRelativeUrl(), self.start_requested_software_instance.getSpecialise() ]) - self.assertEqual(line.getResource(), + self.assertEqual(line1.getDestination(), self.person.getRelativeUrl()) + self.assertEqual(line1.getDestinationDecision(), + self.person.getRelativeUrl()) + self.assertEqual(line1.getResource(), "service_module/slapos_netdrive_consumption") - self.assertEqual(line.getQuantityUnit(), + self.assertEqual(line1.getQuantityUnit(), "unit/piece") - # Delivery 2 - delivery = self.portal.restrictedTraverse(result[1]) - - self.assertEqual(delivery.getPortalType(), "Sale Packing List") - self.assertEqual(delivery.getDestination(), self.person.getRelativeUrl()) - self.assertEqual(delivery.getDestinationDecision(), - self.person.getRelativeUrl()) - self.assertEqual(delivery.getStartDate(), - document.getCreationDate()) - self.assertEqual(delivery.getTitle(), - "%s Consumption Usage" % \ - self.stop_requested_software_instance.getReference()) - self.assertEqual(delivery.getSimulationState(), "delivered") - self.assertEqual(delivery.getCausalityState(), "building") - self.assertEqual(delivery.getSpecialise(), - "sale_trade_condition_module/slapos_consumption_trade_condition") - - self.assertEqual( - len(delivery.contentValues(portal_type="Sale Packing List Line")), 1) - - line = delivery.contentValues(portal_type="Sale Packing List Line")[0] - self.assertEqual(line.getTitle(), "foob") - self.assertEqual(line.getQuantity(), 24.24) - self.assertEqual(line.getAggregateList(), [ + # Sale Packing List Line 2 + line2 = delivery.contentValues(portal_type="Sale Packing List Line")[1] + + self.assertEqual(line2.getTitle(), "foob") + self.assertEqual(line2.getQuantity(), 24.24) + self.assertEqual(line2.getAggregateList(), [ self.computer.partition2.getRelativeUrl(), self.stop_requested_software_instance.getRelativeUrl(), self.stop_requested_software_instance.getSpecialise() ]) - self.assertEqual(line.getResource(), + self.assertEqual(line2.getDestination(), self.second_person.getRelativeUrl()) + self.assertEqual(line2.getDestinationDecision(), + self.second_person.getRelativeUrl()) + self.assertEqual(line2.getResource(), "service_module/slapos_netdrive_consumption") - self.assertEqual(line.getQuantityUnit(), + self.assertEqual(line2.getQuantityUnit(), "unit/piece") -- 2.30.9