Files
odoo_source/addons/membership/test/test_membership.yml
T
Thibault Delavallée 7fc8577238 [IMP][TEST] membership: tests updates
- update yml tests, crashing because of changes in the accounting
+ some light cleaning
- add python unittests, because those are way cooler than yml
2015-08-12 14:42:31 +02:00

131 lines
5.9 KiB
YAML

- |
Test Datas
-
!record {model: res.partner, id: test_partner_0}:
name: Seagate
free_member: False
- |
Test Datas
-
!record {model: res.partner, id: test_partner_1}:
name: Ms. Jonhson
free_member: True
- |
Test Datas
-
!record {model: res.partner, id: test_partner_2}:
name: Ms. Smith
free_member: False
- |
In Order to test the Membership in OpenERP, which allows us to manage all operations for managing memberships.
- |
I'm creating "Gold Membership" which has Membership fee 80 EURO and It's started from 1st June to 31st Dec.
-
!record {model: product.product, id: test_membership_0}:
categ_id: product.product_category_1
membership: 1
membership_date_from: !eval datetime.today().strftime("%Y-%m-%d")
membership_date_to: !eval "(datetime.now() + timedelta(6*31)).strftime('%Y-%m-%d')"
name: Gold Membership
type: service
list_price: 80.00
- |
"Seagate" want to join "Gold Membership", so I'm checking "Current Membership State" of "Seagate". It is an "Non Member" or not.
-
!assert {model: res.partner, id: test_partner_0, string: Member should be has Current Membership State in Non Member}:
- membership_state == 'none'
- |
I'm doing to make membership invoice for "Seagate" on joining "Gold Membership".
-
!python {model: res.partner}: |
self.create_membership_invoice(cr, uid, [ref("test_partner_0")], product_id=ref("test_membership_0"), datas={"amount":80.00})
- |
I'm checking "Current Membership State" of "Seagate". It is an "Waiting Member" or not.
-
!assert {model: res.partner, id: test_partner_0, string: Member should be has Current Membership State in Waiting Member}:
- membership_state == 'waiting'
- |
I'm Opening that Invoice which is created for "Seagate".
-
!python {model: res.partner}: |
invoice_pool = self.pool.get('account.invoice')
partner_pool = self.pool.get('res.partner')
membership_line_pool = self.pool.get('membership.membership_line')
membership_pool = self.pool.get('product.product')
membership_line_ids = membership_line_pool.search(cr, uid, [('membership_id','=',ref('test_membership_0')),('partner','=',ref('test_partner_0'))])
membership_lines = membership_line_pool.browse(cr, uid, membership_line_ids)
assert membership_lines, 'Membership is not registrated.'
membership_line = membership_lines[0]
membership_line.account_invoice_id.signal_workflow('invoice_open')
- |
I'm checking "Current membership state" of "Seagate". It is an "Invoiced Member" or not.
-
!assert {model: res.partner, id: test_partner_0, string: Member should be has Current Membership State in Invoiced Member}:
- membership_state == 'invoiced'
- |
I'm checking "Current membership state" of "Ms. Johnson". It is an "Free Member" or not.
-
!assert {model: res.partner, id: test_partner_1, string: Member should be has Current Membership State in Free Member}:
- membership_state == 'free'
- |
I'm set "Seagate" as a associated member of "Ms. Johnson" and also set Non free member.
-
!python {model: res.partner}: |
self.write(cr, uid, [ref("test_partner_1")], {'free_member': False, 'associate_member': ref("test_partner_0")})
- |
I'm checking "Current membership state" of "Ms. Johnson". It is an "Paid Member" or not.
-
!assert {model: res.partner, id: test_partner_1, string: Member should be has Current Membership State in Invoiced Member}:
- membership_state == 'invoiced'
- |
I'm creating new "Regular Membership" which has Membership fee 50 EURO and It's started from 1st June to 31st Dec.
-
!record {model: product.product, id: product_product_membershipproduct1}:
categ_id: product.product_category_1
membership: 1
membership_date_from: '2013-01-01'
membership_date_to: '2013-12-31'
name: Regular Membership
type: service
list_price: 50.00
- |
I'm making invoice of "Smith" member on joining new membership "Regular Membership".
-
!python {model: res.partner}: |
self.create_membership_invoice(cr, uid, [ref("test_partner_2")], product_id=ref("product_product_membershipproduct1"), datas={"amount":50.00})
- |
I'm checking "Current membership state" of "Smith". It is an "Old Member" or not.
-
!assert {model: res.partner, id: test_partner_2, string: Member should be has Current Membership State in Old Member}:
- membership_state == 'old'
- |
I'm doing to make credit note of invoice which is paid by "Seagate" to cancel membership.
-
!python {model: account.invoice}: |
invoice_pool = self.pool.get('account.invoice')
partner_pool = self.pool.get('res.partner')
membership_line_pool = self.pool.get('membership.membership_line')
membership_pool = self.pool.get('product.product')
invoice_refund_pool = self.pool.get('account.invoice.refund')
membership_line_ids = membership_line_pool.search(cr, uid, [('membership_id','=',ref('test_membership_0')),('partner','=',ref('test_partner_0'))])
membership_lines = membership_line_pool.browse(cr, uid, membership_line_ids)
assert membership_lines, 'Membership is not registrated.'
membership_line = membership_lines[0]
refund_id = invoice_refund_pool.create(cr, uid, {'description': 'Refund of Membership', 'filter_refund': 'refund'}, {'active_id': membership_line.account_invoice_id.id})
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]})
membership_line.account_invoice_id.journal_id.write({'update_posted': True})
membership_line.account_invoice_id.signal_workflow('invoice_cancel')
- |
I'm checking "Current membership state" of "Seagate". It is an "Cancelled Member" or not.
-
!assert {model: res.partner, id: test_partner_0, string: Member should be has Current Membership State in Cancelled Member}:
- membership_state == 'canceled'