[Erp5-report] r24420 - /erp5/trunk/products/ERP5/tests/testInvoice.py

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Oct 30 14:34:40 CET 2008


Author: mame
Date: Thu Oct 30 14:34:38 2008
New Revision: 24420

URL: http://svn.erp5.org?rev=24420&view=rev
Log:
test on delivery mode and incoterm copied using movements group added

Modified:
    erp5/trunk/products/ERP5/tests/testInvoice.py

Modified: erp5/trunk/products/ERP5/tests/testInvoice.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testInvoice.py?rev=24420&r1=24419&r2=24420&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testInvoice.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testInvoice.py [utf8] Thu Oct 30 14:34:38 2008
@@ -56,7 +56,8 @@
   vat_rate = 0.196
   sale_gap = 'fr/pcg/7/70/707/7071/70712'
   customer_gap = 'fr/pcg/4/41/411'
-
+  mail_delivery_mode = 'by_mail'
+  cpt_incoterm = 'cpt'
   # (account_id, account_gap, account_type)
   account_definition_list = (
       ('receivable_vat', vat_gap, 'liability/payable/collected_vat',),
@@ -75,7 +76,7 @@
 
   def getBusinessTemplateList(self):
     return ('erp5_base', 'erp5_pdm', 'erp5_trade', 'erp5_accounting',
-            'erp5_invoicing')
+            'erp5_invoicing','erp5_apparel')
 
   def createCategories(self):
     """Create the categories for our test. """
@@ -105,6 +106,8 @@
             'gap/%s' % self.vat_gap,
             'gap/%s' % self.sale_gap,
             'gap/%s' % self.customer_gap,
+	    'delivery_mode/%s' % self.mail_delivery_mode,
+	    'incoterm/%s' % self.cpt_incoterm,
         )
 
 
@@ -214,16 +217,19 @@
                     product_line='apparel')
     currency = self.portal.currency_module.newContent(
                                 portal_type='Currency',
-                                title='Currency')
+                                title='Currency',
+				base_unit_quantity=0.01)
     self.createInvoiceTransactionRule(currency)
 
     client = self.portal.organisation_module.newContent(
                             portal_type='Organisation',
                             title='Client',
+			    price_currency= currency.getRelativeUrl(),
                             default_address_region=self.default_region)
     vendor = self.portal.organisation_module.newContent(
                             portal_type='Organisation',
                             title='Vendor',
+			    price_currency= currency.getRelativeUrl(),
                             default_address_region=self.default_region)
     order = self.portal.getDefaultModule(self.order_portal_type).newContent(
                               portal_type=self.order_portal_type,
@@ -256,7 +262,7 @@
     self.assertEquals(currency,
           delivery_movement.getPriceCurrencyValue())
 
-
+    
   def test_modify_planned_order_invoicing_rule(self):
     """
     tests that modifying a planned order affects movements from invoicing
@@ -265,17 +271,21 @@
     resource = self.portal.getDefaultModule(
         self.resource_portal_type).newContent(
                     portal_type=self.resource_portal_type,
-                    title='Resource',)
+                    title='Resource',
+		    product_line='apparel')
     currency = self.portal.currency_module.newContent(
                                 portal_type='Currency',
-                                title='Currency')
+                                title='Currency',
+				base_unit_quantity=0.01)
 
     client = self.portal.organisation_module.newContent(
                             portal_type='Organisation',
-                            title='Client')
+                            title='Client',
+			    price_currency= currency.getRelativeUrl())
     vendor = self.portal.organisation_module.newContent(
                             portal_type='Organisation',
-                            title='Vendor')
+                            title='Vendor',
+			    price_currency= currency.getRelativeUrl())
     order = self.portal.getDefaultModule(self.order_portal_type).newContent(
                               portal_type=self.order_portal_type,
                               source_value=vendor,
@@ -292,7 +302,8 @@
 
     other_entity = self.portal.organisation_module.newContent(
                                       portal_type='Organisation',
-                                      title='Other Entity')
+                                      title='Other Entity',
+		            price_currency=currency.getRelativeUrl())
     order.plan()
     get_transaction().commit()
     self.tic()
@@ -458,7 +469,8 @@
                     product_line='apparel')
     currency = self.portal.currency_module.newContent(
                                 portal_type='Currency',
-                                title='Currency')
+                                title='Currency',
+				base_unit_quantity=0.01)
     self.createInvoiceTransactionRule(currency)
 
     client = self.portal.organisation_module.newContent(
@@ -868,7 +880,69 @@
     self.assertNotEquals(invoice.getDestinationReference(),
                          new_invoice.getDestinationReference())
 
-
+  def test_delivery_mode_and_incoterm_on_invoice(self):
+    """
+    test that categories delivery_mode and incoterm are copied on 
+    the invoice by the delivery builder
+    """ 
+    		  
+    resource = self.portal.product_module.newContent(
+                    portal_type='Product',
+                    title='Resource',
+		    product_line='apparel')
+    currency = self.portal.currency_module.newContent(
+                                portal_type='Currency',
+                                title='euro')
+    currency.setBaseUnitQuantity(0.01)
+    self.createInvoiceTransactionRule(currency)
+    get_transaction().commit()
+    self.tic()#execute transaction
+    client = self.portal.organisation_module.newContent(
+                            portal_type='Organisation',
+                            title='Client',
+                            default_address_region=self.default_region)
+    vendor = self.portal.organisation_module.newContent(
+                            portal_type='Organisation',
+                            title='Vendor',
+                            default_address_region=self.default_region)
+    order = self.portal.getDefaultModule(self.order_portal_type).newContent(
+                              portal_type=self.order_portal_type,
+                              source_value=vendor,
+                              source_section_value=vendor,
+                              destination_value=client,
+                              destination_section_value=client,
+                              start_date=DateTime(2008,10, 21),
+                              price_currency_value=currency,
+			      delivery_mode=self.mail_delivery_mode,
+			      incoterm=self.cpt_incoterm,
+                              title='Order')
+    order_line = order.newContent(portal_type=self.order_line_portal_type,
+                                  resource_value=resource,
+                                  quantity=5,
+                                  price=2)
+    order.confirm()
+    get_transaction().commit()
+    self.tic()
+    related_packing_list = order.getCausalityRelatedValue(
+                                portal_type=self.packing_list_portal_type)
+    self.assertNotEquals(related_packing_list, None)
+    self.assertEquals(related_packing_list.getDeliveryMode(),
+                         order.getDeliveryMode())
+    self.assertEquals(related_packing_list.getIncoterm(),
+                         order.getIncoterm())
+    related_packing_list.start()
+    related_packing_list.stop()
+    get_transaction().commit()
+    self.tic()
+    related_invoice = related_packing_list.getCausalityRelatedValue(
+                                  portal_type=self.invoice_portal_type)
+    self.assertNotEquals(related_invoice, None)
+    self.assertEquals(related_invoice.getDeliveryMode(),
+                         order.getDeliveryMode())
+    self.assertEquals(related_invoice.getIncoterm(),
+                         order.getIncoterm())
+			 
+			 
 class TestSaleInvoiceMixin(TestInvoiceMixin,
                            TestPackingListMixin,
                            TestAccountingRulesMixin,
@@ -1906,6 +1980,8 @@
     TestInvoiceMixin._createCategories(self)
 
   getNeededCategoryList = TestInvoiceMixin.getNeededCategoryList
+  
+  
 
   def test_01_SimpleInvoice(self, quiet=quiet, run=RUN_ALL_TESTS):
     """
@@ -2725,7 +2801,7 @@
       """)
     sequence_list.play(self, quiet=quiet)
 
-
+  
 
 class TestPurchaseInvoice(TestInvoice, ERP5TypeTestCase):
   """Tests for purchase invoice.




More information about the Erp5-report mailing list