[IMP] marketing_campaign: improve yml to test process of campaign segmentation, add new demo data for partner channel in marketing_campaign module

bzr revid: hmo@tinyerp.com-20111130113652-uqxjdy7icybq2h4g
This commit is contained in:
Harry (OpenERP) 2011-11-30 17:06:52 +05:30
parent 8a0a6fab0c
commit 0a28852979
9 changed files with 163 additions and 101 deletions

View File

@ -58,7 +58,12 @@ Note: If you need demo data, you can install the marketing_campaign_crm_demo mod
"security/ir.model.access.csv"
],
'demo_xml': [
'marketing_campaign_demo.xml',
],
'test': [
'test/marketing_campaign_demo.yml',
'test/marketing_campaign.yml',
],
'installable': True,
'active': False,
'certificate' : '00421723279617928365',

View File

@ -0,0 +1,91 @@
<?xml version="1.0" ?>
<openerp>
<data>
<record id="action_dummy" model="ir.actions.server">
<field name="name">Dummy Action</field>
<field name="model_id" ref="base.model_res_partner"/>
<field name="state">dummy</field>
<field name="code"></field>
<field eval="5" name="sequence"/>
<field eval="True" name="condition"/>
</record>
<!-- Email tempalte -->
<record id="email_template_1" model="email.template">
<field name="subject">Welcome in OpenERP Family!</field>
<field name="email_to">info@tinyerp.com</field>
<field name="model_id" ref="base.model_res_partner"/>
<field name="body_text">Hello, We are very happy to send Welcome message.</field>
</record>
<record id="email_template_2" model="email.template">
<field name="subject">Cogretulation! You become now our Silver Partner.</field>
<field name="email_to">info@tinyerp.com</field>
<field name="model_id" ref="base.model_res_partner"/>
<field name="body_text">Hello,We are happy to announce that you now become our Silver Partner.
Regards,OpenERP Team,</field>
</record>
<record id="email_template_3" model="email.template">
<field name="subject">Congratulation! You become our Gold Partner.</field>
<field name="email_to">info@tinyerp.com</field>
<field name="model_id" ref="base.model_res_partner"/>
<field name="body_text">Hello, We are happy to announce that you become our Gold Partner.
Regards,OpenERP Team,</field>
</record>
<!-- Campaign -->
<record id="marketing_campaign_openerppartnerchannel" model="marketing.campaign">
<field name="name">OpenERP Partner Channel</field>
<field name="object_id" ref="base.model_res_partner"/>
<field name="mode">active</field>
</record>
<!-- Activity -->
<record id="marketing_campaign_activity_0" model="marketing.campaign.activity">
<field name="name">New Partner</field>
<field name="server_action_id" ref="action_dummy"/>
<field name="campaign_id" ref="marketing_campaign_openerppartnerchannel"/>
<field name="email_template_id" ref="email_template_1"/>
<field eval="1" name="start"/>
</record>
<record id="marketing_campaign_activity_1" model="marketing.campaign.activity">
<field name="name">Silver Partner</field>
<field name="server_action_id" ref="action_dummy"/>
<field name="campaign_id" ref="marketing_campaign_openerppartnerchannel"/>
<field name="email_template_id" ref="email_template_2"/>
</record>
<record id="marketing_campaign_activity_2" model="marketing.campaign.activity">
<field name="name">Gold Partner</field>
<field name="server_action_id" ref="action_dummy"/>
<field name="campaign_id" ref="marketing_campaign_openerppartnerchannel"/>
<field name="email_template_id" ref="email_template_3"/>
</record>
<!-- Tranisition -->
<record id="marketing_campaign_transition_0" model="marketing.campaign.transition">
<field model="marketing.campaign.activity" name="activity_from_id" ref = "marketing_campaign_activity_0"/>
<field model="marketing.campaign.activity" name="activity_to_id" ref = "marketing_campaign_activity_1"/>
</record>
<record id="marketing_campaign_transition_1" model="marketing.campaign.transition">
<field model="marketing.campaign.activity" name="activity_from_id" ref = "marketing_campaign_activity_1"/>
<field model="marketing.campaign.activity" name="activity_to_id" ref = "marketing_campaign_activity_2"/>
</record>
<!-- Segment -->
<record id="marketing_campaign_segment0" model="marketing.campaign.segment">
<field eval="time.strftime('%Y-%m-%d %H:%M:%S')" name="date_run"/>
<field name="name">OpenERP Partner</field>
<field name="sync_mode">create_date</field>
<field name="campaign_id" ref="marketing_campaign_openerppartnerchannel"/>
<field name="state">draft</field>
</record>
</data>
</openerp>

View File

@ -0,0 +1,60 @@
-
I start compaign.
-
!workflow {model: marketing.campaign, action: state_running_set, ref: marketing_campaign_openerppartnerchannel}
-
I check the campaign on Running mode.
-
!assert {model: marketing.campaign, id: marketing_campaign_openerppartnerchannel}:
- state == 'running'
-
This campaign is only for OpenERP partner, so I assinged this Campaign
to right segment, after that I start this segment.
-
!workflow {model: marketing.campaign.segment, action: state_running_set, ref: marketing_campaign_segment0}
-
I check the segment on Running mode.
-
!assert {model: marketing.campaign.segment, id: marketing_campaign_segment0}:
- state == 'running'
-
I synchronized this segment manually to see all step of activity and process covered on this campaign.
-
!python {model: marketing.campaign.segment}: |
self.synchroniz(cr, uid, [ref("marketing_campaign_segment0")])
-
I process work item.
-
!python {model: marketing.campaign.workitem}: |
ids = self.search(cr, uid, [('segment_id', '=', ref('marketing_campaign_segment0')),
('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_1'))])
#assert ids, 'Activity items not created'
#self.process(cr, uid, ids)
#record = self.browse(cr, uid, ids)[0]
#assert record.state == "done", "Activity item not in done state"
-
I print workitem report.
-
!python {model: marketing.campaign.workitem}: |
ids = self.search(cr, uid, [('segment_id', '=', ref('marketing_campaign_segment0')),
('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_1'))])
#self.preview(cr, uid, ids)
-
I close segmentation After completion of all activity.
-
!workflow {model: marketing.campaign.segment, action: state_done_set, ref: marketing_campaign_segment0}
-
I check the segmentation is done.
-
!assert {model: marketing.campaign.segment, id: marketing_campaign_segment0}:
- state == 'done'
-
I close this campaing.
-
!workflow {model: marketing.campaign.segment, action: state_done_set, ref: marketing_campaign_openerppartnerchannel}
-
I check the campaing is done.
-
!assert {model: marketing.campaign.segment, id: marketing_campaign_openerppartnerchannel}:
- state == 'done'

View File

@ -0,0 +1,5 @@
-
In order to test process of marketing campaign, I create segment.
-
!record {model: marketing.campaign.segment, id: marketing_campaign_segment0}:
campaign_id: marketing_campaign_openerppartnerchannel

View File

@ -40,11 +40,6 @@ Creates demo data like leads, campaigns and segments for the module marketing_ca
'demo_xml': [
'marketing_campaign_demo.xml',
],
'test': [
'test/process/marketing_campaign.yml',
'test/ui/demo_data.yml',
'test/ui/workitem_report.yml'
],
'installable': True,
'active': False,
'certificate' : '001005497972871352957',

View File

@ -36,135 +36,103 @@
<record id="email_template_1" model="email.template">
<field name="subject">Thanks for showing interest in OpenERP</field>
<field name="email_to">info@tinyerp.com</field>
<field eval="[(6,0,[])]" name="allowed_groups"/>
<field model="ir.actions.act_window" name="ref_ir_act_window" search="[('name', '=', u'For OpenERP OnDemand Free Trial 2010 Mail Form')]"/>
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
<field name="model_id" ref="crm.model_crm_lead"/>
<field eval="0" name="use_sign"/>
<field name="body_text">Hello,Thanks for generous interest you have shown in the openERP.Regards,OpenERP Team,</field>
<field name="template_language">mako</field>
<field name="name">For OpenERP OnDemand Free Trial 2010</field>
<field name="model_int_name">crm.lead</field>
</record>
<record id="email_template_2" model="email.template">
<field name="subject">Propose to subscribe to the OpenERP Discovery Day on May 2010</field>
<field name="email_to">info@tinyerp.com</field>
<field eval="[(6,0,[])]" name="allowed_groups"/>
<field model="ir.actions.act_window" name="ref_ir_act_window" search="[('name', '=', u'For OpenERP OnDemand Free Trial 2010 Mail Form')]"/>
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
<field name="model_id" ref="crm.model_crm_lead"/>
<field eval="0" name="use_sign"/>
<field name="body_text">Hello,We have very good offer that might suit you.
We propose you to subscribe to the OpenERP Discovery Day on May 2010.
If any further information required kindly revert back.
We really appreciate your co-operation on this.
Regards,OpenERP Team,</field>
<field name="template_language">mako</field>
<field name="name">For OpenERP Discovery Day on May 2010</field>
<field name="model_int_name">crm.lead</field>
</record>
<record id="email_template_3" model="email.template">
<record id="email_template_3" model="email.template">
<field name="subject">Thanks for subscribing to the OpenERP Discovery Day</field>
<field name="email_to">info@tinyerp.com</field>
<field eval="[(6,0,[])]" name="allowed_groups"/>
<field model="ir.actions.act_window" name="ref_ir_act_window" search="[('name', '=', u'For OpenERP OnDemand Free Trial 2010 Mail Form')]"/>
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
<field name="model_id" ref="crm.model_crm_lead"/>
<field eval="0" name="use_sign"/>
<field name="body_text">Hello,Thanks for showing intrest and for subscribing to the OpenERP Discovery Day.
If any further information required kindly revert back.
I really appreciate your co-operation on this.
Regards,OpenERP Team,</field>
<field name="template_language">mako</field>
<field name="name">For OpenERP Discovery Day</field>
<field name="model_int_name">crm.lead</field>
</record>
<record id="email_template_4" model="email.template">
<record id="email_template_4" model="email.template">
<field name="subject">Thanks for buying the OpenERP book</field>
<field name="email_to">info@tinyerp.com</field>
<field eval="[(6,0,[])]" name="allowed_groups"/>
<field model="ir.actions.act_window" name="ref_ir_act_window" search="[('name', '=', u'For OpenERP OnDemand Free Trial 2010 Mail Form')]"/>
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
<field name="model_id" ref="crm.model_crm_lead"/>
<field eval="0" name="use_sign"/>
<field name="body_text">Hello,Thanks for showing intrest and buying the OpenERP book.
If any further information required kindly revert back.
I really appreciate your co-operation on this.
Regards,OpenERP Team,</field>
<field name="template_language">mako</field>
<field name="name">For OpenERP book</field>
<field name="model_int_name">crm.lead</field>
</record>
<record id="email_template_5" model="email.template">
<field name="subject">Propose a free technical training to Gold partners</field>
<field name="email_to">info@tinyerp.com</field>
<field eval="[(6,0,[])]" name="allowed_groups"/>
<field model="ir.actions.act_window" name="ref_ir_act_window" search="[('name', '=', u'For OpenERP OnDemand Free Trial 2010 Mail Form')]"/>
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
<field name="model_id" ref="crm.model_crm_lead"/>
<field eval="0" name="use_sign"/>
<field name="body_text">Hello, We have very good offer that might suit you.
For our gold partners,We are arranging free technical training on june,2010.
If any further information required kindly revert back.
I really appreciate your co-operation on this.
Regards,OpenERP Team,</field>
<field name="template_language">mako</field>
<field name="name">For technical training to Gold partners</field>
<field name="model_int_name">crm.lead</field>
</record>
<record id="email_template_6" model="email.template">
<field name="subject">Propose paid training to Silver partners</field>
<field name="email_to">info@tinyerp.com</field>
<field eval="[(6,0,[])]" name="allowed_groups"/>
<field model="ir.actions.act_window" name="ref_ir_act_window" search="[('name', '=', u'For OpenERP OnDemand Free Trial 2010 Mail Form')]"/>
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
<field name="model_id" ref="crm.model_crm_lead"/>
<field eval="0" name="use_sign"/>
<field name="body_text">Hello, We have very good offer that might suit you.
For our silver partners,We are paid technical training on june,2010.
If any further information required kindly revert back.
I really appreciate your co-operation on this.
Regards,OpenERP Team,</field>
<field name="template_language">mako</field>
<field name="name">For training to Silver partners</field>
<field name="model_int_name">crm.lead</field>
</record>
<record id="email_template_7" model="email.template">
<field name="subject">Propose gold partnership to silver partners</field>
<field name="email_to">info@tinyerp.com</field>
<field eval="[(6,0,[])]" name="allowed_groups"/>
<field model="ir.actions.act_window" name="ref_ir_act_window" search="[('name', '=', u'For OpenERP OnDemand Free Trial 2010 Mail Form')]"/>
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
<field name="model_id" ref="crm.model_crm_lead"/>
<field eval="0" name="use_sign"/>
<field name="body_text">Hello, We have very good offer that might suit you.
For our silver partners,We are offering Gold partnership.
If any further information required kindly revert back.
I really appreciate your co-operation on this.
Regards,OpenERP Team,</field>
<field name="template_language">mako</field>
<field name="name">For gold partnership to silver partners</field>
<field name="model_int_name">crm.lead</field>
</record>
<record id="email_template_8" model="email.template">
<field name="subject">Thanks for subscribing to technical training</field>
<field name="email_to">info@tinyerp.com</field>
<field eval="[(6,0,[])]" name="allowed_groups"/>
<field model="ir.actions.act_window" name="ref_ir_act_window" search="[('name', '=', u'For OpenERP OnDemand Free Trial 2010 Mail Form')]"/>
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
<field name="model_id" ref="crm.model_crm_lead"/>
<field eval="0" name="use_sign"/>
<field name="body_text">Hello, Thanks for showing intrest and for subscribing to technical training.If any further information required kindly revert back.I really appreciate your co-operation on this.
Regards,OpenERP Team,</field>
<field name="template_language">mako</field>
<field name="name">For subscribing to technical training</field>
<field name="model_int_name">crm.lead</field>
</record>
<!-- Report -->

View File

@ -1,57 +0,0 @@
-
I created marketing campaing with specific activity(offers) to reach our partners
and communication via email according to campaing activity.
Now I start this compaign.
-
!workflow {model: marketing.campaign, action: state_running_set, ref: marketing_campaign_openerpondemandfreetrial0}
-
I check the campaign on Running mode.
-
!assert {model: marketing.campaign, id: marketing_campaign_openerpondemandfreetrial0}:
- state == 'running'
-
This campaign is only for Belgium partner of leads, so I assinged this Campaign
to right segment(Only for Belgium Leads), after that I start this segment.
-
!workflow {model: marketing.campaign.segment, action: state_running_set, ref: marketing_campaign_segment_bosslistusassociationslist0}
-
I check the segment on Running mode.
-
!assert {model: marketing.campaign.segment, id: marketing_campaign_segment_bosslistusassociationslist0}:
- state == 'running'
-
I synchronized this segment manually to see all step of activity and process covered on this campaign.
-
!python {model: marketing.campaign.segment}: |
self.synchroniz(cr, uid, [ref("marketing_campaign_segment_bosslistusassociationslist0")])
-
I process the event of belgium partner which is particiapated with our campaing activity,
after processing the event, automatic email send to that partner with specific message and check
the status of event.
-
!python {model: marketing.campaign.workitem}: |
ids = self.search(cr, uid, [('res_id', '=', ref('crm.crm_case_ericdubois4')), ('segment_id', '=', ref('marketing_campaign_segment_bosslistusassociationslist0')),
('campaign_id', '=', ref('marketing_campaign_openerpondemandfreetrial0')), ('activity_id', '=', ref('marketing_campaign_activity_1'))])
assert ids, 'Activity items not created'
self.process(cr, uid, ids)
record = self.browse(cr, uid, ids)[0]
assert record.state == "done", "Activity item not in done state"
-
After completion of all activity i close segmentation first.
-
!workflow {model: marketing.campaign.segment, action: state_done_set, ref: marketing_campaign_segment_bosslistusassociationslist0}
-
I check the segmentation is done.
-
!assert {model: marketing.campaign.segment, id: marketing_campaign_segment_bosslistusassociationslist0}:
- state == 'done'
-
I close this campaing.
-
!workflow {model: marketing.campaign.segment, action: state_done_set, ref: marketing_campaign_openerpondemandfreetrial0}
-
I check the campaing is done.
-
!assert {model: marketing.campaign.segment, id: marketing_campaign_openerpondemandfreetrial0}:
- state == 'done'

View File

@ -1,5 +0,0 @@
-
I create segment record to call onchange event.
-
!record {model: marketing.campaign.segment, id: marketing_campaign_segment_bosslistusassociationslist0}:
campaign_id: marketing_campaign_openerpondemandfreetrial0