Rohan Nayani(Open ERP) has proposed merging 
lp:~openerp-dev/openobject-addons/trunk-coverage-event-ron into 
lp:openobject-addons.

Requested reviews:
  OpenERP Core Team (openerp)

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-coverage-event-ron/+merge/82635

Hello,

* Clean test cases of Yml event Module:
=============================

event_confirm2done.yml => Process from event confirm to done.
event_draft2cancel.yml =>  Process from event draft to confirm and check for 
registration below limit of events so cancle of that event.
partner_register2invoice.yml => Process from partner registration, confirmation 
then generated invoice and also create group invoice bases of same partner.
duplicate_event.yml => duplicate of event.'

* Improve Demo data
* Fixed Traceback when converting partner to registration of event.

-- 
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-coverage-event-ron/+merge/82635
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openobject-addons/trunk-coverage-event-ron.
=== modified file 'event/__openerp__.py'
--- event/__openerp__.py	2011-10-11 20:05:49 +0000
+++ event/__openerp__.py	2011-11-18 05:27:57 +0000
@@ -54,7 +54,11 @@
         'res_partner_view.xml',
     ],
     'demo_xml': ['event_demo.xml'],
-    'test': ['test/test_event.yml'],
+    'test': ['test/process/event_confirm2done.yml',
+             'test/process/event_draft2cancel.yml',
+             'test/process/partner_register2invoice.yml',
+             'test/ui/duplicate_event.yml',
+             'test/ui/onchange_events.yml'],
     'installable': True,
     'active': False,
     'certificate': '0083059161581',

=== modified file 'event/event_demo.xml'
--- event/event_demo.xml	2011-01-14 00:11:01 +0000
+++ event/event_demo.xml	2011-11-18 05:27:57 +0000
@@ -61,6 +61,8 @@
         <field eval="time.strftime('%Y-%m-01 23:05:15')" name="date_end"/>
 		<field name="product_id" ref="event_product_0"/>
 		<field name="unit_price">68.00</field>
+		<field name="mail_auto_registr">True</field>
+		<field name="mail_auto_confirm">True</field>
 		<field name="user_id" ref="base.user_root"/>
 		<field name="register_max">500</field>
 		<field name="type" ref="event_type_1"/>
@@ -74,9 +76,9 @@
 		<field name="unit_price">24.00</field>
 		<field name="type" ref="event_type_1"/>
 		<field name="user_id" ref="base.user_root"/>
+		<field name="register_min">50</field>
 		<field name="register_max">350</field>
 	</record>
-    <function model="event.event" name="button_confirm" eval="[ref('event_1')]"/>
 	<record id="event_2" model="event.event">
 		<field name="name">Conference on ERP Buisness</field>
         <field eval="time.strftime('%Y-%m-05 14:00:00')" name="date_begin"/>
@@ -126,5 +128,16 @@
 
 	 <function model="event.registration" name="check_confirm" eval="[ref('reg_0_1')]"/> 
 
+    <record id="reg_0_2" model="event.registration">
+        <field name="event_id" ref="event_2"/>
+        <field name="partner_id" ref="base.res_partner_c2c"/>
+        <field name="partner_invoice_id" ref="base.res_partner_c2c"/>
+        <field name="nb_register">5</field>
+        <field name="event_product">Ticket for Conference</field>
+        <field name="unit_price">20</field>
+    </record>
+    
+    <function model="event.registration" name="check_confirm" eval="[ref('reg_0_2')]"/>
+    
 	</data>
 </openerp>

=== added directory 'event/test/process'
=== renamed file 'event/test/test_event.yml' => 'event/test/process/event_confirm2done.yml'
--- event/test/test_event.yml	2011-08-16 09:23:40 +0000
+++ event/test/process/event_confirm2done.yml	2011-11-18 05:27:57 +0000
@@ -1,172 +1,22 @@
-- |
-  In order to test the "Event Organisation" in Association system.  
-- |
-  I want to organize one conference event on "OpenERP Business".
-- |
-  I'm creating new product "Conference Ticket" to specify registration Cost of conference.
-- 
-  !record {model: product.product, id: product_product_ticketforconcert0}:
-    categ_id: product.cat1
-    list_price: 68.0
-    name: Conference Ticket  
-- |
-  I'm creating Event type "Conference".
--   
-  !record {model: event.type, id: event_type_conference0}:
-     name: Conferences
-- |
-  I'm creating one Event "Conference on OpenERP Business" which will last from 1st of this month to 10th of this month.
--
-  !record {model: event.event, id: event_event_conference0}:
-    date_begin: !eval time.strftime('%Y-%m-01')
-    date_end: !eval time.strftime('%Y-%m-10')
-    name: Conference on OpenERP Business.
-    product_id: 'product_product_ticketforconcert0'
-    type: 'event_type_conference0'
-    reply_to: '[email protected]'
-- |
-  Check that the new conference event is "Draft" or not.
-- 
-  !assert {model: event.event, id: event_event_conference0}:
-     - state == 'draft', "Event should be in draft by default when first time created"
-- |
-  Need Minimum 10 Registrations to confirm/start this Conference Event and does not allowed more than 100 Registrations.
-- |
-  So I set Minimum and Maximum Registrations limit.
--   
-  !python {model: event.event}: |
-    self.write(cr, uid, [ref('event_event_conference0')], {'register_max': 100, 'register_min': 10})
-- |
-  I'm doing to confirm that conference event.
--  
-  !python {model: event.event}: |
-    self.button_confirm(cr, uid, [ref("event_event_conference0")])
-- |
-  But this conference event need minimum 10 Confirmed Registrations. so Check that Event is not "confirmed". 
--   
-  !assert {model: event.event, id: event_event_conference0}:
-     - state != 'confirm', "Event should not confirmed if minimum registrations does not reached"
-- |
-  "Mark Johnson" want to subscribe/join into "Conference on OpenERP Business" with 10 tickets.
-- | 
-  I'm creating new partner "Mark Johnson" with his email "[email protected]".
-- 
-  !record {model: res.partner, id: res_partner_markjohnson0}:
-    address:
-      - city: Bruxelles
-        country_id: base.be
-        job_ids:
-          - contact_id: base_contact.res_partner_contact_jacot0
-            function: CTO
-            name: base.res_partner_maxtor
-            sequence_partner: 0.0
-            state: current
-        street: Rue des Palais 51, bte 33
-        type: default
-        zip: '1000'
-        email: '[email protected]'
-    name: Mark Johnson
-    
-- |
-  I'm creating Registration for "Mark Johnson" on "Conference on OpenERP Business" with 10 tickets. 
-- 
-  !record {model: event.registration, id: event_registration_registrationjacot0}:
-    contact_id: base_contact.res_partner_contact_jacot0
-    event_id: event.event_event_conference0
-    partner_id: event.res_partner_markjohnson0
-    partner_invoice_id: event.res_partner_markjohnson0
-    event_product: Conference Ticket
-    unit_price: 68.0
-    nb_register: 10
-- |
-  I'm going to Open that Registration.     
-- 
-  !python {model: event.registration}: |
-    self.check_confirm(cr, uid, [ref("event_registration_registrationjacot0")])
-- |
-  Check that Registration is in "Open" state or not.
-- 
-  !assert {model: event.registration, id: event_registration_registrationjacot0}: 
-     - state == 'open', "Registration should be open here."
-
-- |
-  I'm again trying to confirm that conference event.
--  
-  !python {model: event.event}: |
-    self.button_confirm(cr, uid, [ref("event_event_conference0")])
-    
-- |
-  Now Minimum requirement of Registration is fulfil. so Check that Event is "confirmed" or not. 
--   
-  !assert {model: event.event, id: event_event_conference0}:
-     - state == 'confirm', "Event should be confirmed here."
-  
-- |
-  I'm creating invoice of Registration of "Mark Johnson" on "Conference on OpenERP Business".
--
-  !python {model: event.registration}: |
-    self.action_invoice_create(cr, uid, [ref("event_registration_registrationjacot0")])
-
-- |
-  Check Invoice of Registration of "Mark Johnson" is created or not.     
-- 
-  !assert {model: event.registration, id: event_registration_registrationjacot0}:
-     - invoice_id != False, "Invoice should be generated"
-
-- |
-  Check Registration of "Mark Johnson" is closed or not after invoice generated.     
-- 
-  !assert {model: event.registration, id: event_registration_registrationjacot0}:
-     - state != 'done',  "Registration should be closed after invoice generated"
-  
-- |
-  Now "Mark Johnson" want to another registration on "Conference on OpenERP Business" with 120 tickets.
-- |
-  I'm creating new registration for "Mark Johnson" with 100 tickets.
-- 
-  !record {model: event.registration, id: event_registration_registrationzen0}:
-    event_id: event.event_event_conference0
-    partner_id: event.res_partner_markjohnson0
-    partner_invoice_id: event.res_partner_markjohnson0
-    event_product: Conference Ticket
-    unit_price: 68.0
-    nb_register: 100
-    
-- |
-  I'm going to open "Mark Johnson" registration.     
-- 
-  !python {model: event.registration}: |
-    self.check_confirm(cr, uid, [ref("event_registration_registrationzen0")])
-
-- |
-  But conference event does not allow more than 100 Registrations. so Check that registration is not in "open" state. 
--   
-  !assert {model: event.registration, id: event_registration_registrationzen0}:
-     - state == 'draft', "Registration should be in draft by default."
-- |
-  Now I'm modifying number of tickets of "Mark Johnson"'s registration with 90 tickets. 
-- 
-  !python {model: event.registration}: |
-    self.write(cr, uid, [ref("event_registration_registrationzen0")], {'nb_register': 90})
-- |
-  I'm again try to open "Mark Johnson" registration.     
-- 
-  !python {model: event.registration}: |
-    self.check_confirm(cr, uid, [ref("event_registration_registrationzen0")])
-
-- |
-  Check that registration "open" or not. 
--   
-  !assert {model: event.registration, id: event_registration_registrationzen0}:
-     - state == 'open', "Registration should be open here."
-- |
-  I'm closing "Conference on OpenERP Business" Conference event
-- 
-  !python {model: event.event}: |
-    self.button_done(cr, uid, [ref("event_event_conference0")])
-- |
-  Check that conference is in "close" state or not. 
--   
-  !assert {model: event.event, id: event_event_conference0}:
-     - state == 'done', "Registration should be Closed here."
-  
+-
+  I want to organize one conference event on "OpenERP Business", Customer subscribe/join 
+  into "Conference on OpenERP Business" with 6 tickets, first I confim this event. 
+-
+  !python {model: event.event}: |
+    self.button_confirm(cr, uid, [ref("event_0")])
+-
+  I Check that Event is "confirmed", and Its automatically sending mail to registered 
+  partner which joined to this event.
+-
+  !assert {model: event.event, id: event_0}:
+    - state == 'confirm', "Event should be confirmed."
+-
+  After completed event, I close this event.
+-
+  !python {model: event.event}: |
+    self.button_done(cr, uid, [ref("event_0")])
+-
+  Check that conference is in "close" state. 
+-
+  !assert {model: event.event, id: event_0}:
+    - state == 'done', "Event should be Closed."

=== added file 'event/test/process/event_draft2cancel.yml'
--- event/test/process/event_draft2cancel.yml	1970-01-01 00:00:00 +0000
+++ event/test/process/event_draft2cancel.yml	2011-11-18 05:27:57 +0000
@@ -0,0 +1,22 @@
+-
+  I want to organize event and its need Minimum 50 Registrations to confirm/start 
+  this Event, but Only 10 registration confirm for this event, I confirm this event. 
+-
+  !python {model: event.event}: |
+    self.button_confirm(cr, uid, [ref("event_1")])
+-
+  Now I cheked for event and It should not be confirm because registrations for 
+  this event is below limit.
+-
+  !assert {model: event.event, id: event_1}:
+    - state == 'confirm', "Event should be confirm."
+-
+  So I cancel this Event
+-
+  !python {model: event.event}: |
+    self.button_cancel(cr, uid, [ref("event_1")])
+-
+  I check event should be cancel.
+-
+  !assert {model: event.event, id: event_1}:
+    - state == 'cancel', "Event should be cancel"

=== added file 'event/test/process/partner_register2invoice.yml'
--- event/test/process/partner_register2invoice.yml	1970-01-01 00:00:00 +0000
+++ event/test/process/partner_register2invoice.yml	2011-11-18 05:27:57 +0000
@@ -0,0 +1,62 @@
+-
+  I want to organize one conference event, First I registered partner for event 
+  with 5 tickets.
+-
+  !python {model: partner.event.registration}: |
+    context.update({'active_model': 'res.partner', 'active_ids': [ref("base.res_partner_ericdubois0")], 'active_id': ref("base.res_partner_ericdubois0")})
+    register = self.create(cr, uid, {'event_id': ref('event_1'),'nb_register': 5}, context=context)
+    self.open_registration(cr, uid, [register], context=context)
+-
+  Now I check for registration created base on partner.
+-
+  !python {model: event.registration}: |
+    ids = self.search(cr, uid, [('partner_id','=',ref("base.res_partner_ericdubois0")), ('event_id', '=', ref('event_1'))])
+    assert ids, "Registration should be create here."
+-
+  I confirm registration process.
+-
+  !python {model: event.registration}: |
+    self.check_confirm(cr, uid, [ref("reg_1_1")])
+-
+  I Check that Registration is confirm.
+- 
+  !assert {model: event.registration, id: reg_1_1}: 
+     - state == 'open', "Registration should be open here."
+-
+  After confirmation of partner, I create invoice base on costing of event. 
+-
+  !python {model: event.registration}: |
+    self.action_invoice_create(cr, uid, [ref("reg_1_1")])
+-
+  Now I Check for Invoice is created and Registration should be closed after invoice generated.
+- 
+  !python {model: event.registration}: |
+    record = self.browse(cr, uid, [ref("reg_1_1")])[0]
+    assert record.invoice_id, "Invoice should be generated"
+    assert record.invoice_id.state == "draft", "Invoice state should be draft"
+    assert record.invoice_id.partner_id == record.partner_id, "Customer is not correspond with registration"
+    assert record.invoice_id.type == 'out_invoice', "Invoice type is not correct"
+    assert record.invoice_id.origin == record.event_product, "Invoice origin is not correct"
+    assert record.invoice_id.amount_total == record.price_subtotal, "Invoice amount is not correct"
+    assert record.state == "done", "Registration should be closed after invoice generated"
+-
+  Now I check for same partner registration for two diffrent event and I create group invoices for same partner. 
+-
+  !python {model: event.make.invoice}: |
+    context.update({'active_model': 'event.make.invoice', 'active_ids': [ref("reg_0_1"), ref("reg_0_2")], 'active_id': ref("reg_0_1")})
+    invoice = self.create(cr, uid, {'grouped': True}, context=context)
+    self.make_invoice(cr, uid, [invoice], context=context)
+-
+  Now I Check for group Invoice is created with total amount of both registration
+  and Registration should be closed after invoice generated.
+- 
+  !python {model: event.registration}: |
+    reg_data_1 = self.browse(cr, uid, [ref("reg_0_1")])[0]
+    reg_data_2 = self.browse(cr, uid, [ref("reg_0_2")])[0]
+    assert reg_data_1.invoice_id, "Invoice should be generated"
+    assert reg_data_1.invoice_id.state == "draft", "Invoice state should be draft"
+    assert reg_data_1.invoice_id.partner_id == reg_data_1.partner_id, "Customer is not correspond with registration"
+    assert reg_data_1.invoice_id.type == 'out_invoice', "Invoice type is not correct"
+    assert reg_data_1.invoice_id.origin == reg_data_1.event_product, "Invoice origin is not correct"
+    assert reg_data_1.invoice_id.amount_total == (reg_data_1.price_subtotal + reg_data_2.price_subtotal), "Invoice total amount is not correct"
+    assert reg_data_1.state == "done", "Registration should be closed after invoice generated"

=== added directory 'event/test/ui'
=== added file 'event/test/ui/duplicate_event.yml'
--- event/test/ui/duplicate_event.yml	1970-01-01 00:00:00 +0000
+++ event/test/ui/duplicate_event.yml	2011-11-18 05:27:57 +0000
@@ -0,0 +1,8 @@
+-
+  Copy of event.
+-
+  !python {model: event.event}: |
+    try:
+      self.copy(cr, uid, ref("event_2"))
+    except:
+      pass
\ No newline at end of file

=== added file 'event/test/ui/onchange_events.yml'
--- event/test/ui/onchange_events.yml	1970-01-01 00:00:00 +0000
+++ event/test/ui/onchange_events.yml	2011-11-18 05:27:57 +0000
@@ -0,0 +1,26 @@
+-
+  I call onchange event to change costing of registration base on event.
+-
+  !python {model: event.registration}: |
+    self.onchange_event(cr, uid, ref('reg_1_1'), ref("event_1"), [])
+-
+  I call onchange event to change the partner of event registration.
+-
+  !python {model: event.registration}: |
+    self.onchange_partner_id(cr, uid, ref('reg_1_1'), ref("base.res_partner_asus"), ref("event_1"), email=False)
+-
+  I call onchange event to change the product of event.
+-
+  !python {model: event.event}: |
+    self.onchange_product(cr, uid, ref("event_1"), ref("event_product_0"))
+-
+  I call onchange event to change the team of event.
+-
+  !python {model: event.event}: |
+    self.do_team_change(cr, uid, ref("event_1"), ref("crm.section_sales_department"))
+-
+  I call onchange event on partner registration.
+-
+  !python {model: partner.event.registration}: |
+    context.update({'active_id': ref("base.res_partner_ericdubois0")})
+    self.onchange_event_id(cr, uid, 1, ref("event_1"), context=context)

=== modified file 'event/wizard/partner_event_registration.py'
--- event/wizard/partner_event_registration.py	2011-01-14 00:11:01 +0000
+++ event/wizard/partner_event_registration.py	2011-11-18 05:27:57 +0000
@@ -34,8 +34,8 @@
         'event_id': fields.many2one('event.event', 'Event'),
         'event_type': fields.many2one('event.type', 'Type', readonly=True),
         'unit_price': fields.float('Registration Cost', digits_compute=dp.get_precision('Sale Price')),
-        'start_date': fields.datetime('Start date', required=True, help="Beginning Date of Event", readonly=True),
-        'end_date': fields.datetime('Closing date', required=True, help="Closing Date of Event", readonly=True),
+        'start_date': fields.datetime('Start date', help="Beginning Date of Event", readonly=True),
+        'end_date': fields.datetime('Closing date', help="Closing Date of Event", readonly=True),
         'nb_register': fields.integer('Number of Registration'),
     }
     _defaults = {

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to