2 In Order to test the Membership in OpenERP, which allows us to manage all operations for managing memberships.
4 I'm creating "Gold Membership" which has Membership fee 80 EURO and It's started from 1st June to 31st Dec.
6 !record {model: product.product, id: product_product_membershipproduct0}:
7 categ_id: product.product_category_1
9 membership_date_from: !eval datetime.today().strftime("%Y-%m-%d")
10 membership_date_to: !eval "(datetime.now() + timedelta(6*31)).strftime('%Y-%m-%d')"
16 "Seagate" want to join "Gold Membership", so I'm checking "Current Membership State" of "Seagate". It is an "Non Member" or not.
18 !assert {model: res.partner, id: base.res_partner_19}:
19 - membership_state == 'none', 'Member should be has "Current Membership State" in "Non Member".'
21 I'm doing to make membership invoice for "Seagate" on joining "Gold Membership".
23 !python {model: res.partner}: |
24 self.create_membership_invoice(cr, uid, [ref("base.res_partner_19")], product_id=ref("product_product_membershipproduct0"), datas={"amount":80.00})
26 I'm checking "Current Membership State" of "Seagate". It is an "Waiting Member" or not.
28 !assert {model: res.partner, id: base.res_partner_19}:
29 - membership_state == 'waiting', 'Member should be has "Current Membership State" in "Waiting Member".'
31 I'm Opening that Invoice which is created for "Seagate".
33 !python {model: res.partner}: |
34 invoice_pool = self.pool.get('account.invoice')
35 partner_pool = self.pool.get('res.partner')
36 membership_line_pool = self.pool.get('membership.membership_line')
37 membership_pool = self.pool.get('product.product')
39 membership_line_ids = membership_line_pool.search(cr, uid, [('membership_id','=',ref('product_product_membershipproduct0')),('partner','=',ref('base.res_partner_19'))])
40 membership_lines = membership_line_pool.browse(cr, uid, membership_line_ids)
41 assert membership_lines, 'Membership is not registrated.'
42 membership_line = membership_lines[0]
43 invoice_pool.signal_invoice_open(cr, uid, [membership_line.account_invoice_id.id])
46 I'm checking "Current membership state" of "Seagate". It is an "Invoiced Member" or not.
48 !assert {model: res.partner, id: base.res_partner_19}:
49 - membership_state == 'invoiced', 'Member should be has "Current Membership State" in "Invoiced Member".'
52 I'm creating free member "Ms. Johnson" of "Gold Membership".
54 !record {model: res.partner, id: res_partner_msjohnson0}:
59 street: 1 rue Rockfeller
65 I'm checking "Current membership state" of "Ms. Johnson". It is an "Free Member" or not.
67 !assert {model: res.partner, id: res_partner_msjohnson0}:
68 - membership_state == 'free', 'Member should be has "Current Membership State" in "Free Member".'
71 I'm set "Seagate" as a associated member of "Ms. Johnson" and also set Non free member.
73 !python {model: res.partner}: |
74 self.write(cr, uid, [ref("res_partner_msjohnson0")], {'free_member': False, 'associate_member': ref("base.res_partner_19")})
77 I'm checking "Current membership state" of "Ms. Johnson". It is an "Paid Member" or not.
79 !assert {model: res.partner, id: res_partner_msjohnson0}:
80 - membership_state == 'paid', 'Member should be has "Current Membership State" in "Paid Member".'
83 I'm creating new "Regular Membership" which has Membership fee 50 EURO and It's started from 1st June to 31st Dec.
85 !record {model: product.product, id: product_product_membershipproduct1}:
86 categ_id: product.product_category_1
88 membership_date_from: !eval datetime.today().strftime("%Y-%m-%d")
89 membership_date_to: !eval "(datetime.now() + timedelta(6*31)).strftime('%Y-%m-%d')"
90 name: Regular Membership
94 I'm making invoice of "Seagate" member on joining new membership "Regular Membership".
96 !python {model: res.partner}: |
97 self.create_membership_invoice(cr, uid, [ref("base.res_partner_19")], product_id=ref("product_product_membershipproduct1"), datas={"amount":50.00})
99 I'm checking "Current membership state" of "Seagate". It is an "Old Member" or not.
101 !assert {model: res.partner, id: base.res_partner_19}:
102 - membership_state == 'old', 'Member should be has "Current Membership State" in "Old Member".'
104 I'm doing to make credit note of invoice which is paid by "Seagate" to cancel membership.
106 !python {model: account.invoice}: |
107 invoice_pool = self.pool.get('account.invoice')
108 partner_pool = self.pool.get('res.partner')
109 membership_line_pool = self.pool.get('membership.membership_line')
110 membership_pool = self.pool.get('product.product')
111 invoice_refund_pool = self.pool.get('account.invoice.refund')
113 membership_line_ids = membership_line_pool.search(cr, uid, [('membership_id','=',ref('product_product_membershipproduct0')),('partner','=',ref('base.res_partner_19'))])
114 membership_lines = membership_line_pool.browse(cr, uid, membership_line_ids)
115 assert membership_lines, 'Membership is not registrated.'
116 membership_line = membership_lines[0]
117 refund_id = invoice_refund_pool.create(cr, uid, {'description': 'Refund of Membership', 'filter_refund': 'refund'}, {'active_id': membership_line.account_invoice_id.id})
118 invoice_refund_pool.invoice_refund(cr, uid, [refund_id], {'active_id': membership_line.account_invoice_id.id, 'active_ids': [membership_line.account_invoice_id.id]})
120 I'm checking "Current membership state" of "Seagate". It is an "Cancelled Member" or not.
122 !assert {model: res.partner, id: base.res_partner_19}:
123 - membership_state == 'canceled', 'Member should be has "Current Membership State" in "Cancelled Member".'