From e280af96b4ee074c16ebf702b08df450fa1fd523 Mon Sep 17 00:00:00 2001 From: "uco (OpenERP)" Date: Mon, 10 Jan 2011 18:21:13 +0530 Subject: [PATCH] [ADD] crm: Added a yaml for changes in stages for leads/opportunity. bzr revid: uco@tinyerp.com-20110110125113-js0bqdeoxl0nlxd8 --- addons/crm/__openerp__.py | 1 + addons/crm/test/test_crm_stage_changes.yml | 90 ++++++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 addons/crm/test/test_crm_stage_changes.yml diff --git a/addons/crm/__openerp__.py b/addons/crm/__openerp__.py index 74eb1a95b23..169b300d86a 100644 --- a/addons/crm/__openerp__.py +++ b/addons/crm/__openerp__.py @@ -126,6 +126,7 @@ Create dashboard for CRM that includes: 'test/test_crm_opportunity.yml', 'test/test_crm_phonecall.yml', 'test/test_crm_recurrent_meeting.yml', + 'test/test_crm_stage_changes.yml', ], 'installable': True, 'active': False, diff --git a/addons/crm/test/test_crm_stage_changes.yml b/addons/crm/test/test_crm_stage_changes.yml new file mode 100644 index 00000000000..6332d581366 --- /dev/null +++ b/addons/crm/test/test_crm_stage_changes.yml @@ -0,0 +1,90 @@ +- + In order to test the changes on stage of a lead or an opportunity with OpenERP, + I create some leads and test the stage changes. +- + I want to change the probability to 0.0 when the opportunity is marked as lost. + So I set its Change probability automatically true. +- + !record {model: crm.case.stage, id: crm_case_stage_lost1}: + name: Lost + on_change: true + probability: 0.0 + section_ids: + - crm.section_sales_department + sequence: 0.0 + type: opportunity +- + I create a lead 'OpenERP Presentation'. +- + !record {model: crm.lead, id: crm_lead_openerppresentation0}: + categ_id: crm.categ_oppor4 + day_close: 0.0 + day_open: 0.0 + name: OpenERP Presentation + planned_revenue: 0.0 + probability: 0.0 + section_id: crm.section_sales_department +- + I open the lead. +- + !python {model: crm.lead}: | + self.case_open(cr, uid, [ref('crm_lead_openerppresentation0')]) +- + I find that this lead can be converted to opportunity. +- + !record {model: crm.lead2opportunity, id: crm_lead2opportunity0}: + name: OpenERP Presentation + probability: 60.0 + planned_revenue: 45000.0 +- + So I convert the lead to opportunity. +- + !python {model: crm.lead2opportunity}: | + self.action_apply(cr, uid, [ref('crm_lead2opportunity0')], context={'active_id': ref('crm_lead_openerppresentation0')}) +- + I check that lead is now converted to opportunity. +- + !python {model: crm.lead}: | + lead = self.browse(cr, uid, ref('crm_lead_openerppresentation0')) + assert lead.type == 'opportunity', 'Lead is not converted to opportunity!' +- + I mark this opportunity as lost. +- + !python {model: crm.lead}: | + self.case_mark_lost(cr, uid, [ref('crm_lead_openerppresentation0')]) +- + Now I check whether the probability is set according to stage change or not. +- + !python {model: crm.lead}: | + opportunity = self.browse(cr, uid, ref('crm_lead_openerppresentation0')) + assert opportunity.stage_id.id == ref('crm.stage_opportunity6'), 'Stage is not changed!' + assert opportunity.probability == 0.0, 'Probability is wrong!' +- + I create one more opportunity. +- + !record {model: crm.lead, id: crm_lead_partnerdemo0}: + categ_id: crm.categ_oppor3 + day_close: 0.0 + day_open: 0.0 + name: Partner Demo + planned_revenue: 50000.0 + probability: 70.0 + section_id: crm.section_sales_department + type: opportunity +- + I open this opportunity. +- + !python {model: crm.lead}: | + self.case_open(cr, uid, [ref('crm_lead_partnerdemo0')]) +- + I mark this opportunity as won. +- + !python {model: crm.lead}: | + self.case_close(cr, uid, [ref('crm_lead_partnerdemo0')]) +- + I check whether the stage is changed to 'Won' and probability is 100.0 or not. +- + !python {model: crm.lead}: | + opportunity = self.browse(cr, uid, ref('crm_lead_partnerdemo0')) + assert opportunity.stage_id.id == ref('crm.stage_opportunity5'), 'Stage is not changed!' + assert opportunity.probability == 100.0, 'Probability is wrong!'