Remove access right tests in scenario
The access rights are now only a configuration matter.
This commit is contained in:
@@ -13,8 +13,7 @@ Imports::
|
||||
>>> from trytond.modules.account.tests.tools import (
|
||||
... create_chart, create_fiscalyear, get_accounts)
|
||||
>>> from trytond.modules.company.tests.tools import create_company
|
||||
>>> from trytond.tests.tools import (
|
||||
... activate_modules, assertEqual, assertTrue, set_user)
|
||||
>>> from trytond.tests.tools import activate_modules, assertEqual, assertTrue
|
||||
|
||||
>>> today = datetime.date.today()
|
||||
|
||||
@@ -22,39 +21,6 @@ Activate modules::
|
||||
|
||||
>>> config = activate_modules('account_dunning', create_company, create_chart)
|
||||
|
||||
Create account admin user::
|
||||
|
||||
>>> User = Model.get('res.user')
|
||||
>>> Group = Model.get('res.group')
|
||||
>>> account_admin_user = User()
|
||||
>>> account_admin_user.name = 'Account Admin'
|
||||
>>> account_admin_user.login = 'account_admin'
|
||||
>>> account_admin_group, = Group.find([
|
||||
... ('name', '=', 'Accounting Administration'),
|
||||
... ])
|
||||
>>> account_admin_user.groups.append(account_admin_group)
|
||||
>>> account_admin_user.save()
|
||||
|
||||
Create account user::
|
||||
|
||||
>>> account_user = User()
|
||||
>>> account_user.name = 'Account'
|
||||
>>> account_user.login = 'account'
|
||||
>>> account_group, = Group.find([
|
||||
... ('name', '=', 'Accounting'),
|
||||
... ])
|
||||
>>> account_user.groups.append(account_group)
|
||||
>>> account_user.save()
|
||||
|
||||
Create dunning user::
|
||||
|
||||
>>> dunning_user = User()
|
||||
>>> dunning_user.name = 'Dunning'
|
||||
>>> dunning_user.login = 'dunning'
|
||||
>>> dunning_group, = Group.find([('name', '=', 'Dunning')])
|
||||
>>> dunning_user.groups.append(dunning_group)
|
||||
>>> dunning_user.save()
|
||||
|
||||
Create fiscal year::
|
||||
|
||||
>>> fiscalyear = create_fiscalyear()
|
||||
@@ -70,7 +36,6 @@ Get accounts::
|
||||
|
||||
Create dunning procedure::
|
||||
|
||||
>>> set_user(account_admin_user)
|
||||
>>> Procedure = Model.get('account.dunning.procedure')
|
||||
>>> procedure = Procedure(name='Procedure')
|
||||
>>> level = procedure.levels.new()
|
||||
@@ -93,7 +58,6 @@ Create parties::
|
||||
|
||||
Create some moves::
|
||||
|
||||
>>> set_user(account_user)
|
||||
>>> Journal = Model.get('account.journal')
|
||||
>>> Move = Model.get('account.move')
|
||||
>>> journal_revenue, = Journal.find([
|
||||
@@ -148,7 +112,6 @@ Create some moves::
|
||||
|
||||
Create dunnings on 4 days::
|
||||
|
||||
>>> set_user(dunning_user)
|
||||
>>> Dunning = Model.get('account.dunning')
|
||||
>>> create_dunning = Wizard('account.dunning.create')
|
||||
>>> create_dunning.form.date = period.start_date + relativedelta(days=4)
|
||||
@@ -224,7 +187,6 @@ Create dunnings on 30 days::
|
||||
|
||||
Pay dunning::
|
||||
|
||||
>>> set_user(account_user)
|
||||
>>> MoveLine = Model.get('account.move.line')
|
||||
>>> move = Move()
|
||||
>>> move.period = period
|
||||
@@ -241,13 +203,11 @@ Pay dunning::
|
||||
>>> reconcile2, = [l for l in move.lines if l.account == receivable]
|
||||
>>> reconcile_lines = Wizard('account.move.reconcile_lines',
|
||||
... [MoveLine(dunning.line.id), reconcile2])
|
||||
>>> set_user(dunning_user)
|
||||
>>> Dunning.find([])
|
||||
[]
|
||||
|
||||
Create dunnings on 50 days::
|
||||
|
||||
>>> set_user(dunning_user)
|
||||
>>> create_dunning = Wizard('account.dunning.create')
|
||||
>>> create_dunning.form.date = period.start_date + relativedelta(days=50)
|
||||
>>> create_dunning.execute('create_')
|
||||
|
||||
@@ -11,50 +11,13 @@ Imports::
|
||||
>>> from trytond.modules.account.tests.tools import (
|
||||
... create_chart, create_fiscalyear, get_accounts)
|
||||
>>> from trytond.modules.company.tests.tools import create_company
|
||||
>>> from trytond.tests.tools import activate_modules, set_user
|
||||
>>> from trytond.tests.tools import activate_modules
|
||||
|
||||
Activate modules::
|
||||
|
||||
>>> config = activate_modules(
|
||||
... 'account_dunning_letter', create_company, create_chart)
|
||||
|
||||
Reload the context::
|
||||
|
||||
>>> User = Model.get('res.user')
|
||||
>>> Group = Model.get('res.group')
|
||||
>>> config._context = User.get_preferences(True, config.context)
|
||||
|
||||
Create account admin user::
|
||||
|
||||
>>> account_admin_user = User()
|
||||
>>> account_admin_user.name = 'Account Admin'
|
||||
>>> account_admin_user.login = 'account_admin'
|
||||
>>> account_admin_group, = Group.find([
|
||||
... ('name', '=', 'Accounting Administration'),
|
||||
... ])
|
||||
>>> account_admin_user.groups.append(account_admin_group)
|
||||
>>> account_admin_user.save()
|
||||
|
||||
Create account user::
|
||||
|
||||
>>> account_user = User()
|
||||
>>> account_user.name = 'Account'
|
||||
>>> account_user.login = 'account'
|
||||
>>> account_group, = Group.find([
|
||||
... ('name', '=', 'Accounting'),
|
||||
... ])
|
||||
>>> account_user.groups.append(account_group)
|
||||
>>> account_user.save()
|
||||
|
||||
Create dunning user::
|
||||
|
||||
>>> dunning_user = User()
|
||||
>>> dunning_user.name = 'Dunning'
|
||||
>>> dunning_user.login = 'dunning'
|
||||
>>> dunning_group, = Group.find([('name', '=', 'Dunning')])
|
||||
>>> dunning_user.groups.append(dunning_group)
|
||||
>>> dunning_user.save()
|
||||
|
||||
Create fiscal year::
|
||||
|
||||
>>> fiscalyear = create_fiscalyear()
|
||||
@@ -70,7 +33,6 @@ Get accounts::
|
||||
|
||||
Create dunning procedure::
|
||||
|
||||
>>> set_user(account_admin_user)
|
||||
>>> Procedure = Model.get('account.dunning.procedure')
|
||||
>>> procedure = Procedure(name='Procedure')
|
||||
>>> level = procedure.levels.new()
|
||||
@@ -88,7 +50,6 @@ Create parties::
|
||||
|
||||
Create some moves::
|
||||
|
||||
>>> set_user(account_user)
|
||||
>>> Journal = Model.get('account.journal')
|
||||
>>> Move = Model.get('account.move')
|
||||
>>> journal_revenue, = Journal.find([
|
||||
@@ -164,7 +125,6 @@ Add partial payment of 50::
|
||||
|
||||
Create dunnings::
|
||||
|
||||
>>> set_user(dunning_user)
|
||||
>>> Dunning = Model.get('account.dunning')
|
||||
>>> create_dunning = Wizard('account.dunning.create')
|
||||
>>> create_dunning.form.date = period.start_date + dt.timedelta(days=5)
|
||||
|
||||
@@ -17,7 +17,7 @@ Imports::
|
||||
>>> from trytond.modules.account_stock_continental.tests.tools import (
|
||||
... add_stock_accounts)
|
||||
>>> from trytond.modules.company.tests.tools import create_company
|
||||
>>> from trytond.tests.tools import activate_modules, set_user
|
||||
>>> from trytond.tests.tools import activate_modules
|
||||
|
||||
>>> today = dt.date.today()
|
||||
|
||||
@@ -30,38 +30,6 @@ Activate modules::
|
||||
... ],
|
||||
... create_company, create_chart)
|
||||
|
||||
Create the required users::
|
||||
|
||||
>>> User = Model.get('res.user')
|
||||
>>> Group = Model.get('res.group')
|
||||
>>> accountant = User()
|
||||
>>> accountant.name = 'Accountant'
|
||||
>>> accountant.login = 'accountant'
|
||||
>>> account_group, = Group.find([('name', '=', 'Accounting')])
|
||||
>>> accountant.groups.append(account_group)
|
||||
>>> accountant.save()
|
||||
|
||||
>>> product_user = User()
|
||||
>>> product_user.name = 'Product User'
|
||||
>>> product_user.login = 'product_user'
|
||||
>>> product_group, = Group.find([('name', '=', 'Account Product Administration')])
|
||||
>>> product_user.groups.append(product_group)
|
||||
>>> product_user.save()
|
||||
|
||||
>>> purchase_user = User()
|
||||
>>> purchase_user.name = 'Purchase User'
|
||||
>>> purchase_user.login = 'purchase_user'
|
||||
>>> purchase_group, = Group.find([('name', '=', 'Purchase')])
|
||||
>>> purchase_user.groups.append(purchase_group)
|
||||
>>> purchase_user.save()
|
||||
|
||||
>>> stock_user = User()
|
||||
>>> stock_user.name = 'Sale User'
|
||||
>>> stock_user.login = 'stock_user'
|
||||
>>> stock_group, = Group.find([('name', '=', 'Stock')])
|
||||
>>> stock_user.groups.append(stock_group)
|
||||
>>> stock_user.save()
|
||||
|
||||
Create fiscal year::
|
||||
|
||||
>>> fiscalyear = set_fiscalyear_invoice_sequences(
|
||||
@@ -303,7 +271,6 @@ Now create a supplier invoice with an accountant::
|
||||
>>> purchase.state
|
||||
'processing'
|
||||
|
||||
>>> set_user(accountant)
|
||||
>>> for invoice in purchase.invoices:
|
||||
... invoice.invoice_date = today
|
||||
>>> Invoice.save(purchase.invoices)
|
||||
@@ -331,7 +298,6 @@ Create customer invoice with negative quantity::
|
||||
|
||||
Now we will use a product with different unit of measure::
|
||||
|
||||
>>> set_user(product_user)
|
||||
>>> UomCategory = Model.get('product.uom.category')
|
||||
>>> unit_category, = UomCategory.find([('name', '=', 'Units')])
|
||||
>>> unit_5 = ProductUom(name='5', symbol='5', category=unit_category,
|
||||
@@ -355,7 +321,6 @@ Now we will use a product with different unit of measure::
|
||||
>>> template_by5.save()
|
||||
>>> product_by5, = template_by5.products
|
||||
|
||||
>>> set_user(purchase_user)
|
||||
>>> purchase = Purchase()
|
||||
>>> purchase.party = supplier
|
||||
>>> purchase.payment_term = payment_term
|
||||
@@ -367,7 +332,6 @@ Now we will use a product with different unit of measure::
|
||||
>>> purchase.click('quote')
|
||||
>>> purchase.click('confirm')
|
||||
|
||||
>>> set_user(stock_user)
|
||||
>>> shipment = ShipmentIn(supplier=supplier)
|
||||
>>> move = Move(purchase.moves[0].id)
|
||||
>>> move.in_anglo_saxon_quantity
|
||||
@@ -376,7 +340,6 @@ Now we will use a product with different unit of measure::
|
||||
>>> shipment.click('receive')
|
||||
>>> shipment.click('do')
|
||||
|
||||
>>> set_user(accountant)
|
||||
>>> purchase.reload()
|
||||
>>> invoice, = purchase.invoices
|
||||
>>> invoice.invoice_date = today
|
||||
@@ -384,7 +347,6 @@ Now we will use a product with different unit of measure::
|
||||
>>> invoice.state
|
||||
'posted'
|
||||
|
||||
>>> set_user(stock_user)
|
||||
>>> move = Move(purchase.moves[0].id)
|
||||
>>> move.in_anglo_saxon_quantity
|
||||
1.0
|
||||
|
||||
+1
-51
@@ -17,7 +17,7 @@ Imports::
|
||||
>>> from trytond.modules.account_stock_continental.tests.tools import (
|
||||
... add_stock_accounts)
|
||||
>>> from trytond.modules.company.tests.tools import create_company
|
||||
>>> from trytond.tests.tools import activate_modules, set_user
|
||||
>>> from trytond.tests.tools import activate_modules
|
||||
|
||||
>>> today = dt.date.today()
|
||||
|
||||
@@ -31,47 +31,6 @@ Activate modules::
|
||||
... ],
|
||||
... create_company, create_chart)
|
||||
|
||||
Create sale user::
|
||||
|
||||
>>> User = Model.get('res.user')
|
||||
>>> Group = Model.get('res.group')
|
||||
>>> sale_user = User()
|
||||
>>> sale_user.name = 'Sale'
|
||||
>>> sale_user.login = 'sale'
|
||||
>>> sale_group, = Group.find([('name', '=', 'Sales')])
|
||||
>>> sale_user.groups.append(sale_group)
|
||||
>>> sale_user.save()
|
||||
|
||||
Create purchase user::
|
||||
|
||||
>>> purchase_user = User()
|
||||
>>> purchase_user.name = 'Purchase'
|
||||
>>> purchase_user.login = 'purchase'
|
||||
>>> purchase_group, = Group.find([('name', '=', 'Purchase')])
|
||||
>>> purchase_user.groups.append(purchase_group)
|
||||
>>> purchase_request_group, = Group.find(
|
||||
... [('name', '=', 'Purchase Request')])
|
||||
>>> purchase_user.groups.append(purchase_request_group)
|
||||
>>> purchase_user.save()
|
||||
|
||||
Create stock user::
|
||||
|
||||
>>> stock_user = User()
|
||||
>>> stock_user.name = 'Stock'
|
||||
>>> stock_user.login = 'stock'
|
||||
>>> stock_group, = Group.find([('name', '=', 'Stock')])
|
||||
>>> stock_user.groups.append(stock_group)
|
||||
>>> stock_user.save()
|
||||
|
||||
Create account user::
|
||||
|
||||
>>> account_user = User()
|
||||
>>> account_user.name = 'Account'
|
||||
>>> account_user.login = 'account'
|
||||
>>> account_group, = Group.find([('name', '=', 'Accounting')])
|
||||
>>> account_user.groups.append(account_group)
|
||||
>>> account_user.save()
|
||||
|
||||
Create fiscal year::
|
||||
|
||||
>>> fiscalyear = set_fiscalyear_invoice_sequences(
|
||||
@@ -147,7 +106,6 @@ Create payment term::
|
||||
|
||||
Sale 50 products::
|
||||
|
||||
>>> set_user(sale_user)
|
||||
>>> Sale = Model.get('sale.sale')
|
||||
>>> sale = Sale()
|
||||
>>> sale.party = customer
|
||||
@@ -162,7 +120,6 @@ Sale 50 products::
|
||||
|
||||
Create Purchase from Request::
|
||||
|
||||
>>> set_user(purchase_user)
|
||||
>>> Purchase = Model.get('purchase.purchase')
|
||||
>>> PurchaseRequest = Model.get('purchase.request')
|
||||
>>> purchase_request, = PurchaseRequest.find()
|
||||
@@ -176,7 +133,6 @@ Create Purchase from Request::
|
||||
>>> purchase.click('confirm')
|
||||
>>> purchase.state
|
||||
'processing'
|
||||
>>> set_user(sale_user)
|
||||
>>> sale.reload()
|
||||
>>> sale.shipments
|
||||
[]
|
||||
@@ -184,12 +140,10 @@ Create Purchase from Request::
|
||||
|
||||
Receive 50 products::
|
||||
|
||||
>>> set_user(stock_user)
|
||||
>>> shipment.click('ship')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
>>> set_user(account_user)
|
||||
>>> stock_in.reload()
|
||||
>>> stock_in.debit
|
||||
Decimal('0.00')
|
||||
@@ -208,10 +162,8 @@ Receive 50 products::
|
||||
|
||||
Open supplier invoice::
|
||||
|
||||
>>> set_user(purchase_user)
|
||||
>>> purchase.reload()
|
||||
>>> invoice, = purchase.invoices
|
||||
>>> set_user(account_user)
|
||||
>>> invoice.invoice_date = today
|
||||
>>> invoice.click('post')
|
||||
>>> invoice.state
|
||||
@@ -234,10 +186,8 @@ Open supplier invoice::
|
||||
|
||||
Open customer invoice::
|
||||
|
||||
>>> set_user(sale_user)
|
||||
>>> sale.reload()
|
||||
>>> invoice, = sale.invoices
|
||||
>>> set_user(account_user)
|
||||
>>> invoice.click('post')
|
||||
>>> invoice.state
|
||||
'posted'
|
||||
|
||||
@@ -12,23 +12,12 @@ Imports::
|
||||
>>> from trytond.modules.account_invoice.tests.tools import (
|
||||
... create_payment_term, set_fiscalyear_invoice_sequences)
|
||||
>>> from trytond.modules.company.tests.tools import create_company
|
||||
>>> from trytond.tests.tools import activate_modules, assertEqual, set_user
|
||||
>>> from trytond.tests.tools import activate_modules, assertEqual
|
||||
|
||||
Activate modules::
|
||||
|
||||
>>> config = activate_modules('analytic_purchase', create_company, create_chart)
|
||||
|
||||
Create purchase user::
|
||||
|
||||
>>> User = Model.get('res.user')
|
||||
>>> Group = Model.get('res.group')
|
||||
>>> purchase_user = User()
|
||||
>>> purchase_user.name = 'Purchase'
|
||||
>>> purchase_user.login = 'purchase'
|
||||
>>> purchase_group, = Group.find([('name', '=', 'Purchase')])
|
||||
>>> purchase_user.groups.append(purchase_group)
|
||||
>>> purchase_user.save()
|
||||
|
||||
Create fiscal year::
|
||||
|
||||
>>> fiscalyear = set_fiscalyear_invoice_sequences(
|
||||
@@ -87,7 +76,6 @@ Create payment term::
|
||||
|
||||
Purchase with analytic accounts::
|
||||
|
||||
>>> set_user(purchase_user)
|
||||
>>> Purchase = Model.get('purchase.purchase')
|
||||
>>> purchase = Purchase()
|
||||
>>> purchase.party = supplier
|
||||
@@ -115,7 +103,6 @@ Check invoice analytic accounts::
|
||||
|
||||
Purchase with an empty analytic account::
|
||||
|
||||
>>> set_user(purchase_user)
|
||||
>>> Purchase = Model.get('purchase.purchase')
|
||||
>>> purchase = Purchase()
|
||||
>>> purchase.party = supplier
|
||||
|
||||
@@ -12,23 +12,12 @@ Imports::
|
||||
>>> from trytond.modules.account_invoice.tests.tools import (
|
||||
... create_payment_term, set_fiscalyear_invoice_sequences)
|
||||
>>> from trytond.modules.company.tests.tools import create_company
|
||||
>>> from trytond.tests.tools import activate_modules, assertEqual, set_user
|
||||
>>> from trytond.tests.tools import activate_modules, assertEqual
|
||||
|
||||
Activate modules::
|
||||
|
||||
>>> config = activate_modules('analytic_sale', create_company, create_chart)
|
||||
|
||||
Create sale user::
|
||||
|
||||
>>> User = Model.get('res.user')
|
||||
>>> Group = Model.get('res.group')
|
||||
>>> sale_user = User()
|
||||
>>> sale_user.name = 'Sale'
|
||||
>>> sale_user.login = 'sale'
|
||||
>>> sale_group, = Group.find([('name', '=', 'Sales')])
|
||||
>>> sale_user.groups.append(sale_group)
|
||||
>>> sale_user.save()
|
||||
|
||||
Create fiscal year::
|
||||
|
||||
>>> fiscalyear = set_fiscalyear_invoice_sequences(
|
||||
@@ -87,7 +76,6 @@ Create payment term::
|
||||
|
||||
Sale with analytic accounts::
|
||||
|
||||
>>> set_user(sale_user)
|
||||
>>> Sale = Model.get('sale.sale')
|
||||
>>> SaleLine = Model.get('sale.line')
|
||||
>>> sale = Sale()
|
||||
@@ -115,7 +103,6 @@ Check analytic accounts on invoice::
|
||||
|
||||
Sale with an empty analytic account::
|
||||
|
||||
>>> set_user(sale_user)
|
||||
>>> Sale = Model.get('sale.sale')
|
||||
>>> SaleLine = Model.get('sale.line')
|
||||
>>> sale = Sale()
|
||||
@@ -140,7 +127,6 @@ Check invoice analytic accounts::
|
||||
|
||||
Return sales using the wizard::
|
||||
|
||||
>>> set_user(sale_user)
|
||||
>>> return_sale = Wizard('sale.return_sale', [sale])
|
||||
>>> return_sale.execute('return_')
|
||||
>>> returned_sale, = Sale.find([
|
||||
|
||||
@@ -17,10 +17,21 @@ Activate modules::
|
||||
|
||||
>>> config = activate_modules('production_work', create_company)
|
||||
|
||||
>>> Employee = Model.get('company.employee')
|
||||
>>> Group = Model.get('res.group')
|
||||
>>> Party = Model.get('party.party')
|
||||
>>> User = Model.get('res.user')
|
||||
>>> Party = Model.get('party.party')
|
||||
>>> Employee = Model.get('company.employee')
|
||||
|
||||
Set employee::
|
||||
|
||||
>>> employee_party = Party(name="Employee")
|
||||
>>> employee_party.save()
|
||||
>>> employee = Employee(party=employee_party)
|
||||
>>> employee.save()
|
||||
>>> user = User(config.user)
|
||||
>>> user.employees.append(employee)
|
||||
>>> user.employee = employee
|
||||
>>> user.save()
|
||||
>>> set_user(user.id)
|
||||
|
||||
Create product::
|
||||
|
||||
@@ -145,24 +156,6 @@ Create an Inventory::
|
||||
>>> inventory.state
|
||||
'done'
|
||||
|
||||
Create production user::
|
||||
|
||||
>>> production_user = User()
|
||||
>>> production_user.name = "Production"
|
||||
>>> production_user.login = 'production'
|
||||
>>> production_user.groups.extend(Group.find([
|
||||
... ('name', '=', 'Production'),
|
||||
... ]))
|
||||
>>> employee_party = Party(name="Employee")
|
||||
>>> employee_party.save()
|
||||
>>> employee = Employee(party=employee_party)
|
||||
>>> employee.save()
|
||||
>>> production_user.employees.append(employee)
|
||||
>>> production_user.employee = employee
|
||||
>>> production_user.save()
|
||||
|
||||
>>> set_user(production_user)
|
||||
|
||||
Make a production::
|
||||
|
||||
>>> Production = Model.get('production')
|
||||
|
||||
@@ -11,35 +11,12 @@ Imports::
|
||||
>>> from trytond.modules.account.tests.tools import create_chart, get_accounts
|
||||
>>> from trytond.modules.account_invoice.tests.tools import create_payment_term
|
||||
>>> from trytond.modules.company.tests.tools import create_company
|
||||
>>> from trytond.tests.tools import activate_modules, set_user
|
||||
>>> from trytond.tests.tools import activate_modules
|
||||
|
||||
Activate modules::
|
||||
|
||||
>>> config = activate_modules('project_invoice', create_company, create_chart)
|
||||
|
||||
Create project user::
|
||||
|
||||
>>> User = Model.get('res.user')
|
||||
>>> Group = Model.get('res.group')
|
||||
>>> project_user = User()
|
||||
>>> project_user.name = 'Project'
|
||||
>>> project_user.login = 'project'
|
||||
>>> project_group, = Group.find([('name', '=', 'Project Administration')])
|
||||
>>> timesheet_group, = Group.find([('name', '=', 'Timesheet Administration')])
|
||||
>>> project_user.groups.extend([project_group, timesheet_group])
|
||||
>>> project_user.save()
|
||||
|
||||
Create project invoice user::
|
||||
|
||||
>>> project_invoice_user = User()
|
||||
>>> project_invoice_user.name = 'Project Invoice'
|
||||
>>> project_invoice_user.login = 'project_invoice'
|
||||
>>> project_invoice_group, = Group.find([('name', '=', 'Project Invoice')])
|
||||
>>> project_group, = Group.find([('name', '=', 'Project Administration')])
|
||||
>>> project_invoice_user.groups.extend(
|
||||
... [project_invoice_group, project_group])
|
||||
>>> project_invoice_user.save()
|
||||
|
||||
Get accounts::
|
||||
|
||||
>>> accounts = get_accounts()
|
||||
@@ -101,7 +78,6 @@ Create products::
|
||||
|
||||
Create a Project::
|
||||
|
||||
>>> set_user(project_user)
|
||||
>>> ProjectWork = Model.get('project.work')
|
||||
>>> project = ProjectWork()
|
||||
>>> project.name = 'Test effort'
|
||||
@@ -150,7 +126,6 @@ Check project amounts::
|
||||
|
||||
Invoice project::
|
||||
|
||||
>>> set_user(project_invoice_user)
|
||||
>>> project.click('invoice')
|
||||
>>> project.amount_to_invoice
|
||||
Decimal('0.00')
|
||||
@@ -159,7 +134,6 @@ Invoice project::
|
||||
|
||||
Do project::
|
||||
|
||||
>>> set_user(project_user)
|
||||
>>> task_no_effort.progress = 1
|
||||
>>> task_no_effort.save()
|
||||
>>> task_fixed.progress = 1
|
||||
@@ -177,7 +151,6 @@ Check project amounts::
|
||||
|
||||
Invoice again project::
|
||||
|
||||
>>> set_user(project_invoice_user)
|
||||
>>> project.click('invoice')
|
||||
>>> project.amount_to_invoice
|
||||
Decimal('0.00')
|
||||
@@ -186,7 +159,6 @@ Invoice again project::
|
||||
|
||||
Try to change invoice line quantity::
|
||||
|
||||
>>> set_user(1)
|
||||
>>> ProjectWork = Model.get('project.work')
|
||||
>>> task = ProjectWork(task.id)
|
||||
>>> task.invoice_line.quantity = 1
|
||||
|
||||
@@ -11,35 +11,12 @@ Imports::
|
||||
>>> from trytond.modules.account.tests.tools import create_chart, get_accounts
|
||||
>>> from trytond.modules.account_invoice.tests.tools import create_payment_term
|
||||
>>> from trytond.modules.company.tests.tools import create_company
|
||||
>>> from trytond.tests.tools import activate_modules, set_user
|
||||
>>> from trytond.tests.tools import activate_modules
|
||||
|
||||
Activate modules::
|
||||
|
||||
>>> config = activate_modules('project_invoice', create_company, create_chart)
|
||||
|
||||
Create project user::
|
||||
|
||||
>>> User = Model.get('res.user')
|
||||
>>> Group = Model.get('res.group')
|
||||
>>> project_user = User()
|
||||
>>> project_user.name = 'Project'
|
||||
>>> project_user.login = 'project'
|
||||
>>> project_group, = Group.find([('name', '=', 'Project Administration')])
|
||||
>>> timesheet_group, = Group.find([('name', '=', 'Timesheet Administration')])
|
||||
>>> project_user.groups.extend([project_group, timesheet_group])
|
||||
>>> project_user.save()
|
||||
|
||||
Create project invoice user::
|
||||
|
||||
>>> project_invoice_user = User()
|
||||
>>> project_invoice_user.name = 'Project Invoice'
|
||||
>>> project_invoice_user.login = 'project_invoice'
|
||||
>>> project_invoice_group, = Group.find([('name', '=', 'Project Invoice')])
|
||||
>>> project_group, = Group.find([('name', '=', 'Project Administration')])
|
||||
>>> project_invoice_user.groups.extend(
|
||||
... [project_invoice_group, project_group])
|
||||
>>> project_invoice_user.save()
|
||||
|
||||
Get accounts::
|
||||
|
||||
>>> accounts = get_accounts()
|
||||
@@ -104,7 +81,6 @@ Create product::
|
||||
|
||||
Create a Project::
|
||||
|
||||
>>> set_user(project_user)
|
||||
>>> ProjectWork = Model.get('project.work')
|
||||
>>> TimesheetWork = Model.get('timesheet.work')
|
||||
>>> project = ProjectWork()
|
||||
@@ -152,7 +128,6 @@ Check project amounts::
|
||||
|
||||
Invoice project::
|
||||
|
||||
>>> set_user(project_invoice_user)
|
||||
>>> project.click('invoice')
|
||||
>>> project.amount_to_invoice
|
||||
Decimal('0.00')
|
||||
@@ -161,7 +136,6 @@ Invoice project::
|
||||
|
||||
Do 75% and 90% of tasks and 80% of project::
|
||||
|
||||
>>> set_user(project_user)
|
||||
>>> task.progress = 0.75
|
||||
>>> task.save()
|
||||
>>> task_fixed.progress = 0.9
|
||||
@@ -179,7 +153,6 @@ Check project amounts::
|
||||
|
||||
Invoice again project::
|
||||
|
||||
>>> set_user(project_invoice_user)
|
||||
>>> project.click('invoice')
|
||||
>>> project.amount_to_invoice
|
||||
Decimal('0.00')
|
||||
@@ -188,7 +161,6 @@ Invoice again project::
|
||||
|
||||
Try to change invoice line quantity::
|
||||
|
||||
>>> set_user(1)
|
||||
>>> ProjectWork = Model.get('project.work')
|
||||
>>> task = ProjectWork(task.id)
|
||||
>>> invoice_line = task.invoiced_progress[0].invoice_line
|
||||
|
||||
@@ -11,7 +11,7 @@ Imports::
|
||||
>>> from trytond.modules.account.tests.tools import create_chart, get_accounts
|
||||
>>> from trytond.modules.account_invoice.tests.tools import create_payment_term
|
||||
>>> from trytond.modules.company.tests.tools import create_company
|
||||
>>> from trytond.tests.tools import activate_modules, set_user
|
||||
>>> from trytond.tests.tools import activate_modules
|
||||
|
||||
>>> today = dt.date.today()
|
||||
>>> yesterday = today - dt.timedelta(days=1)
|
||||
@@ -20,30 +20,6 @@ Activate modules::
|
||||
|
||||
>>> config = activate_modules('project_invoice', create_company, create_chart)
|
||||
|
||||
Create project user::
|
||||
|
||||
>>> User = Model.get('res.user')
|
||||
>>> Group = Model.get('res.group')
|
||||
>>> project_user = User()
|
||||
>>> project_user.name = 'Project'
|
||||
>>> project_user.login = 'project'
|
||||
>>> project_group, = Group.find([('name', '=', 'Project Administration')])
|
||||
>>> timesheet_group, = Group.find([('name', '=', 'Timesheet Administration')])
|
||||
>>> project_user.groups.extend([project_group, timesheet_group])
|
||||
>>> project_user.save()
|
||||
|
||||
Create project invoice user::
|
||||
|
||||
>>> project_invoice_user = User()
|
||||
>>> project_invoice_user.name = 'Project Invoice'
|
||||
>>> project_invoice_user.login = 'project_invoice'
|
||||
>>> project_invoice_group, = Group.find([('name', '=', 'Project Invoice')])
|
||||
>>> project_group, = Group.find([('name', '=', 'Project Administration')])
|
||||
>>> invoice_group, = Group.find([('name', '=', 'Accounting')])
|
||||
>>> project_invoice_user.groups.extend(
|
||||
... [project_invoice_group, project_group, invoice_group])
|
||||
>>> project_invoice_user.save()
|
||||
|
||||
Get accounts::
|
||||
|
||||
>>> accounts = get_accounts()
|
||||
@@ -95,7 +71,6 @@ Create product::
|
||||
|
||||
Create a Project::
|
||||
|
||||
>>> set_user(project_user)
|
||||
>>> ProjectWork = Model.get('project.work')
|
||||
>>> project = ProjectWork()
|
||||
>>> project.name = 'Test timesheet'
|
||||
@@ -146,10 +121,8 @@ Check project amounts::
|
||||
|
||||
Invoice project up to yesterday::
|
||||
|
||||
>>> set_user(project_user)
|
||||
>>> project.project_invoice_timesheet_up_to = yesterday
|
||||
>>> project.save()
|
||||
>>> set_user(project_invoice_user)
|
||||
>>> project.click('invoice')
|
||||
>>> project.amount_to_invoice
|
||||
Decimal('0.00')
|
||||
@@ -161,7 +134,6 @@ Invoice project up to yesterday::
|
||||
>>> project.amount_to_invoice
|
||||
Decimal('40.00')
|
||||
|
||||
>>> set_user(project_invoice_user)
|
||||
>>> Invoice = Model.get('account.invoice')
|
||||
>>> invoice, = Invoice.find([])
|
||||
>>> invoice.total_amount
|
||||
@@ -169,24 +141,20 @@ Invoice project up to yesterday::
|
||||
|
||||
Invoice all project::
|
||||
|
||||
>>> set_user(project_user)
|
||||
>>> project.project_invoice_timesheet_up_to = None
|
||||
>>> project.save()
|
||||
>>> set_user(project_invoice_user)
|
||||
>>> project.click('invoice')
|
||||
>>> project.amount_to_invoice
|
||||
Decimal('0.00')
|
||||
>>> project.invoiced_amount
|
||||
Decimal('100.00')
|
||||
|
||||
>>> set_user(project_invoice_user)
|
||||
>>> _, invoice = Invoice.find([], order=[('id', 'ASC')])
|
||||
>>> invoice.total_amount
|
||||
Decimal('40.00')
|
||||
|
||||
Create more timesheets::
|
||||
|
||||
>>> set_user(project_user)
|
||||
>>> TimesheetLine = Model.get('timesheet.line')
|
||||
>>> line = TimesheetLine()
|
||||
>>> line.employee = employee
|
||||
@@ -204,21 +172,18 @@ Check project amounts::
|
||||
|
||||
Invoice again project::
|
||||
|
||||
>>> set_user(project_invoice_user)
|
||||
>>> project.click('invoice')
|
||||
>>> project.amount_to_invoice
|
||||
Decimal('0.00')
|
||||
>>> project.invoiced_amount
|
||||
Decimal('180.00')
|
||||
|
||||
>>> set_user(project_invoice_user)
|
||||
>>> _, _, invoice = Invoice.find([], order=[('id', 'ASC')])
|
||||
>>> invoice.total_amount
|
||||
Decimal('80.00')
|
||||
|
||||
Try to change invoice line quantity::
|
||||
|
||||
>>> set_user(1)
|
||||
>>> TimesheetLine = Model.get('timesheet.line')
|
||||
>>> line = TimesheetLine(line.id)
|
||||
>>> line.invoice_line.quantity = 5
|
||||
|
||||
@@ -21,11 +21,12 @@ Activate modules::
|
||||
|
||||
>>> config = activate_modules('purchase', create_company, create_chart)
|
||||
|
||||
>>> Employee = Model.get('company.employee')
|
||||
>>> Party = Model.get('party.party')
|
||||
>>> User = Model.get('res.user')
|
||||
|
||||
Set employee::
|
||||
|
||||
>>> User = Model.get('res.user')
|
||||
>>> Party = Model.get('party.party')
|
||||
>>> Employee = Model.get('company.employee')
|
||||
>>> employee_party = Party(name="Employee")
|
||||
>>> employee_party.save()
|
||||
>>> employee = Employee(party=employee_party)
|
||||
|
||||
+1
-13
@@ -12,24 +12,13 @@ Imports::
|
||||
>>> from trytond.modules.account_invoice.tests.tools import (
|
||||
... create_payment_term, set_fiscalyear_invoice_sequences)
|
||||
>>> from trytond.modules.company.tests.tools import create_company
|
||||
>>> from trytond.tests.tools import activate_modules, set_user
|
||||
>>> from trytond.tests.tools import activate_modules
|
||||
|
||||
Activate modules::
|
||||
|
||||
>>> current_config = activate_modules(
|
||||
... 'purchase_invoice_line_standalone', create_company, create_chart)
|
||||
|
||||
Create an accountant user::
|
||||
|
||||
>>> User = Model.get('res.user')
|
||||
>>> Group = Model.get('res.group')
|
||||
>>> accountant = User()
|
||||
>>> accountant.name = 'Accountant'
|
||||
>>> accountant.login = 'accountant'
|
||||
>>> account_group, = Group.find([('name', '=', 'Accounting')])
|
||||
>>> accountant.groups.append(account_group)
|
||||
>>> accountant.save()
|
||||
|
||||
Create fiscal year::
|
||||
|
||||
>>> fiscalyear = set_fiscalyear_invoice_sequences(create_fiscalyear())
|
||||
@@ -139,7 +128,6 @@ Create a supplier invoice::
|
||||
|
||||
Create a supplier invoice with an accountant::
|
||||
|
||||
>>> set_user(accountant)
|
||||
>>> Invoice = Model.get('account.invoice')
|
||||
>>> Partner = Model.get('party.party')
|
||||
>>> supplier, = Partner.find([('name', '=', 'Supplier')])
|
||||
|
||||
@@ -16,7 +16,6 @@ Activate modules::
|
||||
>>> config = activate_modules(
|
||||
... ['purchase_product_quantity', 'purchase_request'],
|
||||
... create_company, create_chart)
|
||||
>>> user = config.user
|
||||
|
||||
>>> Location = Model.get('stock.location')
|
||||
>>> Party = Model.get('party.party')
|
||||
@@ -77,7 +76,7 @@ Create the purchase request below minimal::
|
||||
... 'unit': gr,
|
||||
... 'warehouse': warehouse_loc.id,
|
||||
... }], ctx)
|
||||
>>> set_user(user)
|
||||
>>> set_user()
|
||||
>>> purchase_request = PurchaseRequest(pr_id)
|
||||
|
||||
Create purchase::
|
||||
@@ -103,7 +102,7 @@ Create the purchase request wrong rounding::
|
||||
... 'unit': gr,
|
||||
... 'warehouse': warehouse_loc.id,
|
||||
... }], ctx)
|
||||
>>> set_user(user)
|
||||
>>> set_user()
|
||||
>>> purchase_request = PurchaseRequest(pr_id)
|
||||
|
||||
Create purchase::
|
||||
|
||||
@@ -33,50 +33,6 @@ Create parties::
|
||||
>>> supplier = Party(name='Supplier')
|
||||
>>> supplier.save()
|
||||
|
||||
Create stock admin user::
|
||||
|
||||
>>> User = Model.get('res.user')
|
||||
>>> Group = Model.get('res.group')
|
||||
>>> stock_admin_user = User()
|
||||
>>> stock_admin_user.name = 'Stock Admin'
|
||||
>>> stock_admin_user.login = 'stock_admin'
|
||||
>>> stock_admin_group, = Group.find([('name', '=', 'Stock Administration')])
|
||||
>>> stock_admin_user.groups.append(stock_admin_group)
|
||||
>>> stock_admin_user.save()
|
||||
|
||||
Create stock user::
|
||||
|
||||
>>> stock_user = User()
|
||||
>>> stock_user.name = 'Stock'
|
||||
>>> stock_user.login = 'stock'
|
||||
>>> stock_group, = Group.find([('name', '=', 'Stock')])
|
||||
>>> stock_group_admin, = Group.find([('name', '=', 'Stock Administration')])
|
||||
>>> stock_user.groups.extend([stock_group, stock_group_admin])
|
||||
>>> stock_user.save()
|
||||
|
||||
Create product user::
|
||||
|
||||
>>> product_admin_user = User()
|
||||
>>> product_admin_user.name = 'Product'
|
||||
>>> product_admin_user.login = 'product'
|
||||
>>> product_admin_group, = Group.find([
|
||||
... ('name', '=', "Account Product Administration")
|
||||
... ])
|
||||
>>> product_admin_user.groups.append(product_admin_group)
|
||||
>>> product_admin_user.save()
|
||||
|
||||
Create purchase user::
|
||||
|
||||
>>> purchase_user = User()
|
||||
>>> purchase_user.name = 'Purchase'
|
||||
>>> purchase_user.login = 'purchase'
|
||||
>>> purchase_groups = Group.find(['OR',
|
||||
... ('name', '=', "Purchase"),
|
||||
... ('name', '=', "Purchase Request"),
|
||||
... ])
|
||||
>>> purchase_user.groups.extend(purchase_groups)
|
||||
>>> purchase_user.save()
|
||||
|
||||
Create account category::
|
||||
|
||||
>>> ProductCategory = Model.get('product.category')
|
||||
@@ -87,7 +43,6 @@ Create account category::
|
||||
|
||||
Create product::
|
||||
|
||||
>>> set_user(product_admin_user)
|
||||
>>> ProductUom = Model.get('product.uom')
|
||||
>>> ProductTemplate = Model.get('product.template')
|
||||
>>> unit, = ProductUom.find([('name', '=', 'Unit')])
|
||||
@@ -106,7 +61,6 @@ Create product::
|
||||
|
||||
Get stock locations::
|
||||
|
||||
>>> set_user(stock_admin_user)
|
||||
>>> Location = Model.get('stock.location')
|
||||
>>> warehouse_loc, = Location.find([('code', '=', 'WH')])
|
||||
>>> supplier_loc, = Location.find([('code', '=', 'SUP')])
|
||||
@@ -116,7 +70,6 @@ Get stock locations::
|
||||
|
||||
Create a need for missing product::
|
||||
|
||||
>>> set_user(stock_user)
|
||||
>>> ShipmentOut = Model.get('stock.shipment.out')
|
||||
>>> shipment_out = ShipmentOut()
|
||||
>>> shipment_out.planned_date = today
|
||||
@@ -136,20 +89,17 @@ Create a need for missing product::
|
||||
|
||||
There is no purchase request::
|
||||
|
||||
>>> set_user(purchase_user)
|
||||
>>> PurchaseRequest = Model.get('purchase.request')
|
||||
>>> PurchaseRequest.find([])
|
||||
[]
|
||||
|
||||
Create the purchase request::
|
||||
|
||||
>>> set_user(stock_user)
|
||||
>>> create_pr = Wizard('stock.supply')
|
||||
>>> create_pr.execute('create_')
|
||||
|
||||
There is now a draft purchase request::
|
||||
|
||||
>>> set_user(purchase_user)
|
||||
>>> pr, = PurchaseRequest.find([('state', '=', 'draft')])
|
||||
>>> assertEqual(pr.product, product)
|
||||
>>> pr.quantity
|
||||
@@ -199,7 +149,6 @@ Handle again the exception::
|
||||
|
||||
Re-create the purchase request::
|
||||
|
||||
>>> set_user(stock_user)
|
||||
>>> create_pr = Wizard('stock.supply')
|
||||
>>> create_pr.execute('create_')
|
||||
|
||||
@@ -214,11 +163,11 @@ Create a second purchase request manually::
|
||||
... 'warehouse': warehouse_loc.id,
|
||||
... 'origin': 'stock.order_point,-1',
|
||||
... }], ctx)
|
||||
>>> set_user()
|
||||
>>> pr = PurchaseRequest(pr_id)
|
||||
|
||||
There is now 2 draft purchase requests::
|
||||
|
||||
>>> set_user(purchase_user)
|
||||
>>> prs = PurchaseRequest.find([('state', '=', 'draft')])
|
||||
>>> len(prs)
|
||||
2
|
||||
@@ -248,6 +197,7 @@ Create a purchase request without product::
|
||||
... 'quantity': 1,
|
||||
... 'origin': 'stock.order_point,-1',
|
||||
... }], ctx)
|
||||
>>> set_user()
|
||||
>>> pr = PurchaseRequest(pr_id)
|
||||
>>> pr.save()
|
||||
|
||||
|
||||
@@ -20,40 +20,27 @@ Activate purchase_request_quotation Module::
|
||||
... ['purchase_request_quotation', 'purchase_requisition'],
|
||||
... create_company, create_chart)
|
||||
|
||||
>>> Employee = Model.get('company.employee')
|
||||
>>> Party = Model.get('party.party')
|
||||
>>> User = Model.get('res.user')
|
||||
|
||||
Set employee::
|
||||
|
||||
>>> employee_party = Party(name="Employee")
|
||||
>>> employee_party.save()
|
||||
>>> employee = Employee(party=employee_party)
|
||||
>>> employee.save()
|
||||
>>> user = User(config.user)
|
||||
>>> user.employees.append(employee)
|
||||
>>> user.employee = employee
|
||||
>>> user.save()
|
||||
>>> set_user(user.id)
|
||||
|
||||
Get accounts::
|
||||
|
||||
>>> accounts = get_accounts()
|
||||
>>> expense = accounts['expense']
|
||||
|
||||
Create purchase user which is also in requisition approval group::
|
||||
|
||||
>>> User = Model.get('res.user')
|
||||
>>> Group = Model.get('res.group')
|
||||
>>> Party = Model.get('party.party')
|
||||
>>> Employee = Model.get('company.employee')
|
||||
>>> purchase_user = User()
|
||||
>>> purchase_user.name = 'Purchase'
|
||||
>>> purchase_user.login = 'purchase'
|
||||
>>> purchase_group, = Group.find([('name', '=', 'Purchase')])
|
||||
>>> purchase_user.groups.append(purchase_group)
|
||||
>>> purchase_request_group, = Group.find(
|
||||
... [('name', '=', 'Purchase Request')])
|
||||
>>> purchase_user.groups.append(purchase_request_group)
|
||||
>>> requisition_group, = Group.find([
|
||||
... ('name', '=', 'Purchase Requisition')])
|
||||
>>> purchase_user.groups.append(requisition_group)
|
||||
>>> requisition_approval_group, = Group.find([
|
||||
... ('name', '=', 'Purchase Requisition Approval')])
|
||||
>>> purchase_user.groups.append(requisition_approval_group)
|
||||
>>> employee_party = Party(name='Employee')
|
||||
>>> employee_party.save()
|
||||
>>> employee = Employee(party=employee_party)
|
||||
>>> employee.save()
|
||||
>>> purchase_user.employees.append(employee)
|
||||
>>> purchase_user.employee = employee
|
||||
>>> purchase_user.save()
|
||||
|
||||
|
||||
Create suppliers::
|
||||
|
||||
>>> supplier = Party(name='Supplier')
|
||||
@@ -90,7 +77,6 @@ Create product::
|
||||
|
||||
Create purchase requisition::
|
||||
|
||||
>>> set_user(purchase_user)
|
||||
>>> Location = Model.get('stock.location')
|
||||
>>> warehouse_loc, = Location.find([('code', '=', 'WH')])
|
||||
>>> PurchaseRequisition = Model.get('purchase.requisition')
|
||||
@@ -181,7 +167,7 @@ with a quotation not having the minimum price unit::
|
||||
|
||||
>>> set_user(0)
|
||||
>>> prequest2, = prequest.duplicate()
|
||||
>>> set_user(purchase_user)
|
||||
>>> set_user()
|
||||
>>> prequest2.preferred_quotation_line = sorted(
|
||||
... prequest2.quotation_lines, key=lambda q: q.unit_price)[-1]
|
||||
>>> prequest2.preferred_quotation_line.unit_price
|
||||
|
||||
@@ -10,7 +10,7 @@ Imports::
|
||||
>>> from proteus import Model, Wizard
|
||||
>>> from trytond.modules.account.tests.tools import create_chart, get_accounts
|
||||
>>> from trytond.modules.company.tests.tools import create_company
|
||||
>>> from trytond.tests.tools import activate_modules, assertEqual, set_user
|
||||
>>> from trytond.tests.tools import activate_modules, assertEqual
|
||||
|
||||
>>> today = dt.date.today()
|
||||
|
||||
@@ -18,62 +18,21 @@ Activate purchase_requisition Module::
|
||||
|
||||
>>> config = activate_modules('purchase_requisition', create_company, create_chart)
|
||||
|
||||
>>> Employee = Model.get('company.employee')
|
||||
>>> Party = Model.get('party.party')
|
||||
|
||||
Create employee::
|
||||
|
||||
>>> employee_party = Party(name="Employee")
|
||||
>>> employee_party.save()
|
||||
>>> employee = Employee(party=employee_party)
|
||||
>>> employee.save()
|
||||
|
||||
Get accounts::
|
||||
|
||||
>>> accounts = get_accounts()
|
||||
>>> expense = accounts['expense']
|
||||
|
||||
Create purchase requisition user::
|
||||
|
||||
>>> User = Model.get('res.user')
|
||||
>>> Group = Model.get('res.group')
|
||||
>>> Party = Model.get('party.party')
|
||||
>>> Employee = Model.get('company.employee')
|
||||
>>> requisition_user = User()
|
||||
>>> requisition_user.name = 'Requisition'
|
||||
>>> requisition_user.login = 'requisition'
|
||||
>>> requisition_group, = Group.find([
|
||||
... ('name', '=', 'Purchase Requisition')])
|
||||
>>> requisition_user.groups.append(requisition_group)
|
||||
>>> employee_party = Party(name='Employee')
|
||||
>>> employee_party.save()
|
||||
>>> employee = Employee(party=employee_party)
|
||||
>>> employee.save()
|
||||
>>> requisition_user.employees.append(employee)
|
||||
>>> requisition_user.employee = employee
|
||||
>>> requisition_user.save()
|
||||
|
||||
>>> party_approval, = Party.duplicate([employee_party], {
|
||||
... 'name': 'Employee Approval',
|
||||
... })
|
||||
>>> employee_approval, = Employee.duplicate([employee], {
|
||||
... 'party': party_approval.id,
|
||||
... })
|
||||
>>> requisition_approval_user, = User.duplicate([requisition_user], {
|
||||
... 'name': 'Requisition Approval',
|
||||
... 'login': 'requisition_approval',
|
||||
... })
|
||||
>>> requisition_approval_group, = Group.find([
|
||||
... ('name', '=', 'Purchase Requisition Approval')])
|
||||
>>> requisition_approval_user.groups.append(requisition_approval_group)
|
||||
>>> _ = requisition_approval_user.employees.pop()
|
||||
>>> requisition_approval_user.employees.append(employee_approval)
|
||||
>>> requisition_approval_user.employee = employee_approval
|
||||
>>> requisition_approval_user.save()
|
||||
|
||||
Create purchase user::
|
||||
|
||||
>>> purchase_user = User()
|
||||
>>> purchase_user.name = 'Purchase'
|
||||
>>> purchase_user.login = 'purchase'
|
||||
>>> purchase_group, = Group.find([('name', '=', 'Purchase')])
|
||||
>>> purchase_user.groups.append(purchase_group)
|
||||
>>> purchase_request_group, = Group.find(
|
||||
... [('name', '=', 'Purchase Request')])
|
||||
>>> purchase_user.groups.append(purchase_request_group)
|
||||
>>> purchase_user.save()
|
||||
|
||||
|
||||
Create supplier::
|
||||
|
||||
>>> supplier = Party(name='Supplier')
|
||||
@@ -116,7 +75,6 @@ Create product::
|
||||
|
||||
Create purchase requisition without product and description::
|
||||
|
||||
>>> set_user(requisition_user)
|
||||
>>> PurchaseRequisition = Model.get('purchase.requisition')
|
||||
>>> requisition = PurchaseRequisition()
|
||||
>>> requisition.description = 'Description'
|
||||
@@ -160,27 +118,8 @@ Create purchase requisition with supplier and price::
|
||||
>>> requisition.state
|
||||
'waiting'
|
||||
|
||||
Approve workflow by requisition user raise an exception because he's not in
|
||||
approval_group::
|
||||
|
||||
>>> set_user(requisition_user)
|
||||
>>> requisition.click('approve')
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
AccessButtonError: ...
|
||||
|
||||
Approve workflow by purchaser raise an exception because he's not in
|
||||
approval_group::
|
||||
|
||||
>>> set_user(purchase_user)
|
||||
>>> requisition.click('approve')
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
AccessButtonError: ...
|
||||
|
||||
Approve workflow with user in approval_group::
|
||||
|
||||
>>> set_user(requisition_approval_user)
|
||||
>>> requisition.click('approve')
|
||||
>>> requisition.state
|
||||
'processing'
|
||||
@@ -189,7 +128,6 @@ Approve workflow with user in approval_group::
|
||||
|
||||
Create Purchase order from Request::
|
||||
|
||||
>>> set_user(purchase_user)
|
||||
>>> PurchaseRequest = Model.get('purchase.request')
|
||||
>>> pr, = PurchaseRequest.find([('state', '=', 'draft')])
|
||||
>>> pr.state
|
||||
@@ -259,7 +197,6 @@ Confirm the purchase order::
|
||||
|
||||
Try to delete requisition done::
|
||||
|
||||
>>> set_user(requisition_user)
|
||||
>>> PurchaseRequisition.delete([requisition])
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
@@ -275,7 +212,6 @@ Delete draft requisition::
|
||||
|
||||
Create purchase requisition with two different suppliers::
|
||||
|
||||
>>> set_user(requisition_user)
|
||||
>>> requisition = PurchaseRequisition()
|
||||
>>> requisition.description = 'Description'
|
||||
>>> requisition.employee = employee
|
||||
@@ -290,10 +226,8 @@ Create purchase requisition with two different suppliers::
|
||||
>>> requisition_line.supplier = supplier2
|
||||
>>> requisition.click('wait')
|
||||
|
||||
>>> set_user(requisition_approval_user)
|
||||
>>> requisition.click('approve')
|
||||
|
||||
>>> set_user(purchase_user)
|
||||
>>> pr = PurchaseRequest.find([('state', '=', 'draft')])
|
||||
>>> len(pr)
|
||||
2
|
||||
@@ -333,7 +267,6 @@ Create purchase requisition with two different suppliers::
|
||||
|
||||
Create purchase requisition then cancel::
|
||||
|
||||
>>> set_user(requisition_user)
|
||||
>>> requisition = PurchaseRequisition()
|
||||
>>> requisition.description = 'Description'
|
||||
>>> requisition.employee = employee
|
||||
@@ -347,7 +280,6 @@ Create purchase requisition then cancel::
|
||||
|
||||
Create purchase requisition, wait then reject::
|
||||
|
||||
>>> set_user(requisition_user)
|
||||
>>> requisition = PurchaseRequisition()
|
||||
>>> requisition.description = 'Description'
|
||||
>>> requisition.employee = employee
|
||||
@@ -359,7 +291,6 @@ Create purchase requisition, wait then reject::
|
||||
>>> requisition.state
|
||||
'waiting'
|
||||
|
||||
>>> set_user(requisition_approval_user)
|
||||
>>> requisition.click('reject')
|
||||
>>> requisition.state
|
||||
'rejected'
|
||||
|
||||
@@ -18,11 +18,12 @@ Activate modules::
|
||||
|
||||
>>> config = activate_modules('sale', create_company, create_chart)
|
||||
|
||||
>>> Employee = Model.get('company.employee')
|
||||
>>> Party = Model.get('party.party')
|
||||
>>> User = Model.get('res.user')
|
||||
|
||||
Set employee::
|
||||
|
||||
>>> User = Model.get('res.user')
|
||||
>>> Party = Model.get('party.party')
|
||||
>>> Employee = Model.get('company.employee')
|
||||
>>> employee_party = Party(name="Employee")
|
||||
>>> employee_party.save()
|
||||
>>> employee = Employee(party=employee_party)
|
||||
|
||||
@@ -12,33 +12,13 @@ Imports::
|
||||
>>> from trytond.modules.account_invoice.tests.tools import (
|
||||
... create_payment_term, set_fiscalyear_invoice_sequences)
|
||||
>>> from trytond.modules.company.tests.tools import create_company
|
||||
>>> from trytond.tests.tools import activate_modules, set_user
|
||||
>>> from trytond.tests.tools import activate_modules
|
||||
|
||||
Activate modules::
|
||||
|
||||
>>> config = activate_modules(
|
||||
... 'sale_invoice_grouping', create_company, create_chart)
|
||||
|
||||
Create sale user::
|
||||
|
||||
>>> User = Model.get('res.user')
|
||||
>>> Group = Model.get('res.group')
|
||||
>>> sale_user = User()
|
||||
>>> sale_user.name = 'Sale'
|
||||
>>> sale_user.login = 'sale'
|
||||
>>> sale_group, = Group.find([('name', '=', 'Sales')])
|
||||
>>> sale_user.groups.append(sale_group)
|
||||
>>> sale_user.save()
|
||||
|
||||
Create account user::
|
||||
|
||||
>>> account_user = User()
|
||||
>>> account_user.name = 'Account'
|
||||
>>> account_user.login = 'account'
|
||||
>>> account_group, = Group.find([('name', '=', 'Accounting')])
|
||||
>>> account_user.groups.append(account_group)
|
||||
>>> account_user.save()
|
||||
|
||||
Create fiscal year::
|
||||
|
||||
>>> fiscalyear = set_fiscalyear_invoice_sequences(create_fiscalyear())
|
||||
@@ -91,7 +71,6 @@ Create payment term::
|
||||
|
||||
Sale some products::
|
||||
|
||||
>>> set_user(sale_user)
|
||||
>>> Sale = Model.get('sale.sale')
|
||||
>>> sale = Sale()
|
||||
>>> sale.party = customer
|
||||
@@ -115,7 +94,6 @@ Make another sale::
|
||||
|
||||
Check the invoices::
|
||||
|
||||
>>> set_user(account_user)
|
||||
>>> Invoice = Model.get('account.invoice')
|
||||
>>> invoices = Invoice.find([('party', '=', customer.id)])
|
||||
>>> len(invoices)
|
||||
@@ -129,7 +107,6 @@ Check the invoices::
|
||||
|
||||
Now we'll use the same scenario with the grouped customer::
|
||||
|
||||
>>> set_user(sale_user)
|
||||
>>> sale = Sale()
|
||||
>>> sale.party = customer_grouped
|
||||
>>> sale.payment_term = payment_term
|
||||
@@ -158,7 +135,6 @@ Make another sale::
|
||||
|
||||
Check the invoices::
|
||||
|
||||
>>> set_user(account_user)
|
||||
>>> invoices = Invoice.find([
|
||||
... ('party', '=', customer_grouped.id),
|
||||
... ('state', '=', 'draft'),
|
||||
@@ -185,7 +161,6 @@ Create a manual invoice::
|
||||
|
||||
Check that a new sale won't be grouped with the manual invoice::
|
||||
|
||||
>>> set_user(sale_user)
|
||||
>>> sale = Sale()
|
||||
>>> sale.party = customer_grouped
|
||||
>>> sale.payment_term = payment_term
|
||||
@@ -200,7 +175,6 @@ Check that a new sale won't be grouped with the manual invoice::
|
||||
|
||||
Check the invoices::
|
||||
|
||||
>>> set_user(account_user)
|
||||
>>> invoices = Invoice.find([
|
||||
... ('party', '=', customer_grouped.id),
|
||||
... ('state', '=', 'draft'),
|
||||
|
||||
@@ -11,13 +11,22 @@ Imports::
|
||||
... create_chart, create_tax, get_accounts)
|
||||
>>> from trytond.modules.account_invoice.tests.tools import create_payment_term
|
||||
>>> from trytond.modules.company.tests.tools import create_company
|
||||
>>> from trytond.tests.tools import activate_modules, assertEqual, set_user
|
||||
>>> from trytond.tests.tools import activate_modules, assertEqual
|
||||
|
||||
Activate modules::
|
||||
|
||||
>>> config = activate_modules('sale_opportunity', create_company, create_chart)
|
||||
|
||||
>>> Sale = Model.get('sale.sale')
|
||||
>>> Employee = Model.get('company.employee')
|
||||
>>> Party = Model.get('party.party')
|
||||
|
||||
Create employee::
|
||||
|
||||
>>> employee_party = Party(name="Employee")
|
||||
>>> employee_party.save()
|
||||
>>> employee = Employee(party=employee_party)
|
||||
>>> employee.save()
|
||||
|
||||
Get accounts::
|
||||
|
||||
@@ -29,37 +38,6 @@ Create tax::
|
||||
>>> tax = create_tax(Decimal('.10'))
|
||||
>>> tax.save()
|
||||
|
||||
Create sale opportunity user::
|
||||
|
||||
>>> User = Model.get('res.user')
|
||||
>>> Group = Model.get('res.group')
|
||||
>>> sale_opportunity_user = User()
|
||||
>>> sale_opportunity_user.name = 'Sale Opportunity'
|
||||
>>> sale_opportunity_user.login = 'sale_opportunity'
|
||||
>>> sale_opportunity_group, = Group.find(
|
||||
... [('name', '=', 'Sale Opportunity')])
|
||||
>>> sale_opportunity_user.groups.append(sale_opportunity_group)
|
||||
|
||||
>>> Employee = Model.get('company.employee')
|
||||
>>> Party = Model.get('party.party')
|
||||
>>> employee_party = Party(name='Employee')
|
||||
>>> employee_party.save()
|
||||
>>> employee = Employee(party=employee_party)
|
||||
>>> employee.save()
|
||||
>>> sale_opportunity_user.employees.append(employee)
|
||||
>>> sale_opportunity_user.employee = employee
|
||||
|
||||
>>> sale_opportunity_user.save()
|
||||
|
||||
Create sale user::
|
||||
|
||||
>>> sale_user = User()
|
||||
>>> sale_user.name = 'Sale'
|
||||
>>> sale_user.login = 'sale'
|
||||
>>> sale_group, = Group.find([('name', '=', 'Sales')])
|
||||
>>> sale_user.groups.append(sale_group)
|
||||
>>> sale_user.save()
|
||||
|
||||
Create party::
|
||||
|
||||
>>> Party = Model.get('party.party')
|
||||
@@ -98,7 +76,6 @@ Create payment term::
|
||||
|
||||
Create an lead::
|
||||
|
||||
>>> set_user(sale_opportunity_user)
|
||||
>>> Opportunity = Model.get('sale.opportunity')
|
||||
>>> opportunity = Opportunity()
|
||||
>>> opportunity.description = 'Opportunity'
|
||||
@@ -126,7 +103,6 @@ Add a line::
|
||||
|
||||
Convert to sale::
|
||||
|
||||
>>> set_user(sale_user)
|
||||
>>> sale, = opportunity.click('convert')
|
||||
>>> opportunity.state
|
||||
'converted'
|
||||
@@ -147,7 +123,6 @@ Quote different quantity::
|
||||
|
||||
Check opportunity amount updated::
|
||||
|
||||
>>> set_user(sale_opportunity_user)
|
||||
>>> opportunity.reload()
|
||||
>>> opportunity.amount
|
||||
Decimal('90.00')
|
||||
@@ -156,7 +131,6 @@ Check opportunity amount updated::
|
||||
|
||||
Add a second quotation::
|
||||
|
||||
>>> set_user(sale_user)
|
||||
>>> second_sale = Sale()
|
||||
>>> second_sale.origin = opportunity
|
||||
>>> second_sale.party = customer
|
||||
@@ -168,7 +142,6 @@ Add a second quotation::
|
||||
|
||||
Check opportunity amount updated::
|
||||
|
||||
>>> set_user(sale_opportunity_user)
|
||||
>>> opportunity.reload()
|
||||
>>> opportunity.amount
|
||||
Decimal('100.00')
|
||||
@@ -177,14 +150,12 @@ Check opportunity amount updated::
|
||||
|
||||
Cancel second quotation::
|
||||
|
||||
>>> set_user(sale_user)
|
||||
>>> second_sale.click('cancel')
|
||||
>>> second_sale.state
|
||||
'cancelled'
|
||||
|
||||
Check opportunity amount updated::
|
||||
|
||||
>>> set_user(sale_opportunity_user)
|
||||
>>> opportunity.reload()
|
||||
>>> opportunity.amount
|
||||
Decimal('90.00')
|
||||
@@ -193,16 +164,13 @@ Check opportunity amount updated::
|
||||
|
||||
Won opportunity::
|
||||
|
||||
>>> set_user(sale_user)
|
||||
>>> sale.click('confirm')
|
||||
>>> set_user(sale_opportunity_user)
|
||||
>>> opportunity.reload()
|
||||
>>> opportunity.state
|
||||
'won'
|
||||
|
||||
Check opportunity state updated::
|
||||
|
||||
>>> set_user(sale_opportunity_user)
|
||||
>>> opportunity.reload()
|
||||
>>> opportunity.state
|
||||
'won'
|
||||
|
||||
@@ -12,33 +12,12 @@ Imports::
|
||||
>>> from trytond.modules.account_invoice.tests.tools import (
|
||||
... create_payment_term, set_fiscalyear_invoice_sequences)
|
||||
>>> from trytond.modules.company.tests.tools import create_company
|
||||
>>> from trytond.tests.tools import activate_modules, assertEqual, set_user
|
||||
>>> from trytond.tests.tools import activate_modules, assertEqual
|
||||
|
||||
Activate modules::
|
||||
|
||||
>>> config = activate_modules('sale_price_list', create_company, create_chart)
|
||||
|
||||
Create sale user::
|
||||
|
||||
>>> User = Model.get('res.user')
|
||||
>>> Group = Model.get('res.group')
|
||||
>>> sale_user = User()
|
||||
>>> sale_user.name = 'Sale'
|
||||
>>> sale_user.login = 'sale'
|
||||
>>> sale_group, = Group.find([('name', '=', 'Sales')])
|
||||
>>> sale_user.groups.append(sale_group)
|
||||
>>> sale_user.save()
|
||||
|
||||
>>> sale_admin = User()
|
||||
>>> sale_admin.name = 'Sale Admin'
|
||||
>>> sale_admin.login = 'sale_admin'
|
||||
>>> sale_admin_group, = Group.find([('name', '=', 'Sales Administrator')])
|
||||
>>> sale_admin.groups.append(sale_admin_group)
|
||||
>>> product_admin_group, = Group.find(
|
||||
... [('name', '=', 'Product Administration')])
|
||||
>>> sale_admin.groups.append(product_admin_group)
|
||||
>>> sale_admin.save()
|
||||
|
||||
Create fiscal year::
|
||||
|
||||
>>> fiscalyear = set_fiscalyear_invoice_sequences(create_fiscalyear())
|
||||
@@ -117,7 +96,6 @@ Create a price List and assign it to customer::
|
||||
|
||||
Use the price list on sale::
|
||||
|
||||
>>> set_user(sale_user)
|
||||
>>> Sale = Model.get('sale.sale')
|
||||
>>> sale = Sale()
|
||||
>>> sale.party = customer
|
||||
@@ -140,7 +118,6 @@ Use the price list on sale::
|
||||
|
||||
Create a sale price List and assign to configuration::
|
||||
|
||||
>>> set_user(sale_admin)
|
||||
>>> sale_price_list = PriceList(name='Sale price List')
|
||||
>>> sale_price_list_line = sale_price_list.lines.new()
|
||||
>>> sale_price_list_line.formula = 'unit_price * 0.5'
|
||||
@@ -152,6 +129,5 @@ Create a sale price List and assign to configuration::
|
||||
|
||||
Use the sale price list on sale::
|
||||
|
||||
>>> set_user(sale_user)
|
||||
>>> sale.party = customer_without_price_list
|
||||
>>> assertEqual(sale.price_list, sale_price_list)
|
||||
|
||||
@@ -12,33 +12,13 @@ Imports::
|
||||
>>> from trytond.modules.account_invoice.tests.tools import (
|
||||
... create_payment_term, set_fiscalyear_invoice_sequences)
|
||||
>>> from trytond.modules.company.tests.tools import create_company
|
||||
>>> from trytond.tests.tools import activate_modules, set_user
|
||||
>>> from trytond.tests.tools import activate_modules
|
||||
|
||||
Activate modules::
|
||||
|
||||
>>> config = activate_modules(
|
||||
... 'sale_shipment_grouping', create_company, create_chart)
|
||||
|
||||
Create sale user::
|
||||
|
||||
>>> User = Model.get('res.user')
|
||||
>>> Group = Model.get('res.group')
|
||||
>>> sale_user = User()
|
||||
>>> sale_user.name = 'Sale'
|
||||
>>> sale_user.login = 'sale'
|
||||
>>> sale_group, = sale_user.groups.find([('name', '=', 'Sales')])
|
||||
>>> sale_user.groups.append(sale_group)
|
||||
>>> sale_user.save()
|
||||
|
||||
Create stock user::
|
||||
|
||||
>>> stock_user = User()
|
||||
>>> stock_user.name = 'Stock'
|
||||
>>> stock_user.login = 'stock'
|
||||
>>> stock_group, = Group.find([('name', '=', 'Stock')])
|
||||
>>> stock_user.groups.append(stock_group)
|
||||
>>> stock_user.save()
|
||||
|
||||
Create fiscal year::
|
||||
|
||||
>>> fiscalyear = set_fiscalyear_invoice_sequences(create_fiscalyear())
|
||||
@@ -91,7 +71,6 @@ Create payment term::
|
||||
|
||||
Create an inventory::
|
||||
|
||||
>>> set_user(stock_user)
|
||||
>>> Inventory = Model.get('stock.inventory')
|
||||
>>> InventoryLine = Model.get('stock.inventory.line')
|
||||
>>> Location = Model.get('stock.location')
|
||||
@@ -110,7 +89,6 @@ Create an inventory::
|
||||
|
||||
Sell some products::
|
||||
|
||||
>>> set_user(sale_user)
|
||||
>>> Sale = Model.get('sale.sale')
|
||||
>>> sale = Sale()
|
||||
>>> sale.party = customer
|
||||
@@ -134,7 +112,6 @@ Make another sale::
|
||||
|
||||
Check the shipments::
|
||||
|
||||
>>> set_user(stock_user)
|
||||
>>> ShipmentOut = Model.get('stock.shipment.out')
|
||||
>>> shipments = ShipmentOut.find([('customer', '=', customer.id)])
|
||||
>>> len(shipments)
|
||||
@@ -147,7 +124,6 @@ Check the shipments::
|
||||
|
||||
Now we'll use the same scenario with the grouped customer::
|
||||
|
||||
>>> set_user(sale_user)
|
||||
>>> sale = Sale()
|
||||
>>> sale.party = customer_grouped
|
||||
>>> sale.payment_term = payment_term
|
||||
@@ -176,7 +152,6 @@ Make another sale::
|
||||
|
||||
Check the shipments::
|
||||
|
||||
>>> set_user(stock_user)
|
||||
>>> shipments = ShipmentOut.find([
|
||||
... ('customer', '=', customer_grouped.id),
|
||||
... ('state', '=', 'waiting'),
|
||||
|
||||
@@ -12,7 +12,7 @@ Imports::
|
||||
>>> from trytond.modules.account_invoice.tests.tools import (
|
||||
... create_payment_term, set_fiscalyear_invoice_sequences)
|
||||
>>> from trytond.modules.company.tests.tools import create_company
|
||||
>>> from trytond.tests.tools import activate_modules, set_user
|
||||
>>> from trytond.tests.tools import activate_modules
|
||||
|
||||
Activate modules::
|
||||
|
||||
@@ -20,39 +20,6 @@ Activate modules::
|
||||
... ['sale_supply', 'sale', 'purchase'],
|
||||
... create_company, create_chart)
|
||||
|
||||
Create sale user::
|
||||
|
||||
>>> User = Model.get('res.user')
|
||||
>>> Group = Model.get('res.group')
|
||||
>>> admin_user, = User.find([('login', '=', 'admin')])
|
||||
>>> sale_user = User()
|
||||
>>> sale_user.name = 'Sale'
|
||||
>>> sale_user.login = 'sale'
|
||||
>>> sale_group, = Group.find([('name', '=', 'Sales')])
|
||||
>>> sale_user.groups.append(sale_group)
|
||||
>>> sale_user.save()
|
||||
|
||||
Create purchase user::
|
||||
|
||||
>>> purchase_user = User()
|
||||
>>> purchase_user.name = 'Purchase'
|
||||
>>> purchase_user.login = 'purchase'
|
||||
>>> purchase_group, = Group.find([('name', '=', 'Purchase')])
|
||||
>>> purchase_user.groups.append(purchase_group)
|
||||
>>> purchase_request_group, = Group.find(
|
||||
... [('name', '=', 'Purchase Request')])
|
||||
>>> purchase_user.groups.append(purchase_request_group)
|
||||
>>> purchase_user.save()
|
||||
|
||||
Create stock user::
|
||||
|
||||
>>> stock_user = User()
|
||||
>>> stock_user.name = 'Stock'
|
||||
>>> stock_user.login = 'stock'
|
||||
>>> stock_group, = Group.find([('name', '=', 'Stock')])
|
||||
>>> stock_user.groups.append(stock_group)
|
||||
>>> stock_user.save()
|
||||
|
||||
Create fiscal year::
|
||||
|
||||
>>> fiscalyear = set_fiscalyear_invoice_sequences(create_fiscalyear())
|
||||
@@ -106,7 +73,6 @@ Create payment term::
|
||||
|
||||
Sale 250 products::
|
||||
|
||||
>>> set_user(sale_user)
|
||||
>>> Sale = Model.get('sale.sale')
|
||||
>>> sale = Sale()
|
||||
>>> sale.party = customer
|
||||
@@ -128,7 +94,6 @@ Sale 250 products::
|
||||
|
||||
Delete Purchase Request::
|
||||
|
||||
>>> set_user(purchase_user)
|
||||
>>> PurchaseRequest = Model.get('purchase.request')
|
||||
>>> purchase_request, = PurchaseRequest.find()
|
||||
>>> purchase_request.quantity
|
||||
@@ -140,7 +105,6 @@ Delete Purchase Request::
|
||||
|
||||
Create Purchase from Request::
|
||||
|
||||
>>> set_user(purchase_user)
|
||||
>>> Purchase = Model.get('purchase.purchase')
|
||||
>>> purchase_request, = PurchaseRequest.find()
|
||||
>>> purchase_request.quantity
|
||||
@@ -157,7 +121,6 @@ Create Purchase from Request::
|
||||
>>> purchase.click('confirm')
|
||||
>>> purchase.state
|
||||
'processing'
|
||||
>>> set_user(sale_user)
|
||||
>>> sale.reload()
|
||||
>>> shipment, = sale.shipments
|
||||
>>> move, = shipment.outgoing_moves
|
||||
@@ -169,7 +132,6 @@ Create Purchase from Request::
|
||||
|
||||
Receive 100 products::
|
||||
|
||||
>>> set_user(stock_user)
|
||||
>>> ShipmentIn = Model.get('stock.shipment.in')
|
||||
>>> Move = Model.get('stock.move')
|
||||
>>> shipment = ShipmentIn(supplier=supplier)
|
||||
@@ -180,7 +142,6 @@ Receive 100 products::
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
>>> set_user(sale_user)
|
||||
>>> sale.reload()
|
||||
>>> shipment, = sale.shipments
|
||||
>>> move, = [x for x in shipment.inventory_moves
|
||||
@@ -195,7 +156,6 @@ Receive 100 products::
|
||||
Switching from not supplying on sale to supplying on sale for product should
|
||||
not create a new purchase request::
|
||||
|
||||
>>> set_user(admin_user)
|
||||
|
||||
>>> changing_template = ProductTemplate()
|
||||
>>> changing_template.name = 'product'
|
||||
@@ -209,7 +169,6 @@ not create a new purchase request::
|
||||
>>> changing_template.save()
|
||||
>>> changing_product, = changing_template.products
|
||||
|
||||
>>> set_user(sale_user)
|
||||
>>> Sale = Model.get('sale.sale')
|
||||
>>> sale = Sale()
|
||||
>>> sale.party = customer
|
||||
@@ -222,7 +181,6 @@ not create a new purchase request::
|
||||
>>> sale.state
|
||||
'processing'
|
||||
>>> shipment, = sale.shipments
|
||||
>>> set_user(stock_user)
|
||||
>>> Inventory = Model.get('stock.inventory')
|
||||
>>> Location = Model.get('stock.location')
|
||||
>>> storage, = Location.find([
|
||||
@@ -243,12 +201,9 @@ not create a new purchase request::
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
|
||||
>>> set_user(admin_user)
|
||||
>>> changing_template.supply_on_sale = 'always'
|
||||
>>> changing_template.save()
|
||||
|
||||
>>> set_user(stock_user)
|
||||
>>> shipment.click('do')
|
||||
>>> set_user(purchase_user)
|
||||
>>> len(PurchaseRequest.find([('product', '=', changing_product.id)]))
|
||||
0
|
||||
|
||||
@@ -13,7 +13,7 @@ Imports::
|
||||
>>> from trytond.modules.account_invoice.tests.tools import (
|
||||
... create_payment_term, set_fiscalyear_invoice_sequences)
|
||||
>>> from trytond.modules.company.tests.tools import create_company
|
||||
>>> from trytond.tests.tools import activate_modules, assertEqual, set_user
|
||||
>>> from trytond.tests.tools import activate_modules, assertEqual
|
||||
|
||||
>>> today = dt.date.today()
|
||||
|
||||
@@ -26,55 +26,6 @@ Activate modules::
|
||||
... ],
|
||||
... create_company, create_chart)
|
||||
|
||||
Create sale user::
|
||||
|
||||
>>> User = Model.get('res.user')
|
||||
>>> Group = Model.get('res.group')
|
||||
>>> sale_user = User()
|
||||
>>> sale_user.name = 'Sale'
|
||||
>>> sale_user.login = 'sale'
|
||||
>>> sale_group, = Group.find([('name', '=', 'Sales')])
|
||||
>>> sale_user.groups.append(sale_group)
|
||||
>>> sale_user.save()
|
||||
|
||||
Create purchase user::
|
||||
|
||||
>>> purchase_user = User()
|
||||
>>> purchase_user.name = 'Purchase'
|
||||
>>> purchase_user.login = 'purchase'
|
||||
>>> purchase_group, = Group.find([('name', '=', 'Purchase')])
|
||||
>>> purchase_user.groups.append(purchase_group)
|
||||
>>> purchase_request_group, = Group.find(
|
||||
... [('name', '=', 'Purchase Request')])
|
||||
>>> purchase_user.groups.append(purchase_request_group)
|
||||
>>> purchase_user.save()
|
||||
|
||||
Create stock user::
|
||||
|
||||
>>> stock_user = User()
|
||||
>>> stock_user.name = 'Stock'
|
||||
>>> stock_user.login = 'stock'
|
||||
>>> stock_group, = Group.find([('name', '=', 'Stock')])
|
||||
>>> stock_force_group, = Group.find([
|
||||
... ('name', '=', 'Stock Force Assignment'),
|
||||
... ])
|
||||
>>> product_admin_group, = Group.find([
|
||||
... ('name', '=', "Product Administration"),
|
||||
... ])
|
||||
>>> stock_user.groups.append(stock_group)
|
||||
>>> stock_user.groups.append(stock_force_group)
|
||||
>>> stock_user.groups.append(product_admin_group)
|
||||
>>> stock_user.save()
|
||||
|
||||
Create account user::
|
||||
|
||||
>>> account_user = User()
|
||||
>>> account_user.name = "Account"
|
||||
>>> account_user.login = 'account'
|
||||
>>> account_group, = Group.find([('name', '=', "Accounting")])
|
||||
>>> account_user.groups.append(account_group)
|
||||
>>> account_user.save()
|
||||
|
||||
Create fiscal year::
|
||||
|
||||
>>> fiscalyear = set_fiscalyear_invoice_sequences(
|
||||
@@ -138,7 +89,6 @@ Create payment term::
|
||||
|
||||
Sale 250 products::
|
||||
|
||||
>>> set_user(sale_user)
|
||||
>>> Sale = Model.get('sale.sale')
|
||||
>>> sale = Sale()
|
||||
>>> sale.party = customer
|
||||
@@ -157,7 +107,6 @@ Sale 250 products::
|
||||
|
||||
Create Purchase from Request::
|
||||
|
||||
>>> set_user(purchase_user)
|
||||
>>> Purchase = Model.get('purchase.purchase')
|
||||
>>> PurchaseRequest = Model.get('purchase.request')
|
||||
>>> purchase_request, = PurchaseRequest.find()
|
||||
@@ -176,7 +125,6 @@ Create Purchase from Request::
|
||||
>>> purchase.state
|
||||
'processing'
|
||||
|
||||
>>> set_user(sale_user)
|
||||
>>> sale.reload()
|
||||
>>> sale.shipments
|
||||
[]
|
||||
@@ -184,7 +132,6 @@ Create Purchase from Request::
|
||||
|
||||
Receiving only 100 products::
|
||||
|
||||
>>> set_user(stock_user)
|
||||
>>> move, = shipment.supplier_moves
|
||||
>>> move.quantity = 100
|
||||
>>> move.unit_price
|
||||
@@ -196,7 +143,6 @@ Receiving only 100 products::
|
||||
>>> move.unit_price
|
||||
Decimal('10.0000')
|
||||
>>> move.cost_price
|
||||
>>> set_user(sale_user)
|
||||
>>> sale.reload()
|
||||
>>> sale.shipments
|
||||
[]
|
||||
@@ -205,14 +151,12 @@ Receiving only 100 products::
|
||||
>>> shipment, = [s for s in sale.drop_shipments
|
||||
... if s.state == 'shipped']
|
||||
|
||||
>>> set_user(stock_user)
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
>>> move, = shipment.customer_moves
|
||||
>>> move.cost_price
|
||||
Decimal('3.0000')
|
||||
>>> set_user(sale_user)
|
||||
>>> sale.reload()
|
||||
>>> sale.shipments
|
||||
[]
|
||||
@@ -221,7 +165,6 @@ Receiving only 100 products::
|
||||
|
||||
The purchase is now waiting for his new drop shipment::
|
||||
|
||||
>>> set_user(purchase_user)
|
||||
>>> purchase.reload()
|
||||
>>> purchase.shipment_state
|
||||
'partially shipped'
|
||||
@@ -239,10 +182,8 @@ The purchase is now waiting for his new drop shipment::
|
||||
Let's cancel the shipment and handle the issue on the purchase.
|
||||
As a consequence the sale order is now in exception::
|
||||
|
||||
>>> set_user(stock_user)
|
||||
>>> shipment.click('cancel')
|
||||
|
||||
>>> set_user(purchase_user)
|
||||
>>> purchase.reload()
|
||||
>>> purchase.shipment_state
|
||||
'exception'
|
||||
@@ -254,21 +195,18 @@ As a consequence the sale order is now in exception::
|
||||
>>> purchase.shipment_state
|
||||
'received'
|
||||
|
||||
>>> set_user(sale_user)
|
||||
>>> sale.reload()
|
||||
>>> sale.shipment_state
|
||||
'exception'
|
||||
|
||||
Receive purchase invoice at different price::
|
||||
|
||||
>>> set_user(account_user)
|
||||
>>> invoice, = purchase.invoices
|
||||
>>> invoice_line, = invoice.lines
|
||||
>>> invoice_line.unit_price = Decimal('4.0000')
|
||||
>>> invoice.invoice_date = today
|
||||
>>> invoice.click('post')
|
||||
|
||||
>>> set_user(stock_user)
|
||||
|
||||
>>> recompute = Wizard('product.recompute_cost_price', [product])
|
||||
>>> recompute.execute('recompute')
|
||||
@@ -284,7 +222,6 @@ Receive purchase invoice at different price::
|
||||
|
||||
Cancelling the workflow on the purchase step::
|
||||
|
||||
>>> set_user(sale_user)
|
||||
>>> sale = Sale()
|
||||
>>> sale.party = customer
|
||||
>>> sale.payment_term = payment_term
|
||||
@@ -301,7 +238,6 @@ Cancelling the workflow on the purchase step::
|
||||
>>> sale.drop_shipments
|
||||
[]
|
||||
|
||||
>>> set_user(purchase_user)
|
||||
>>> purchase_request, = PurchaseRequest.find([('purchase_line', '=', None)])
|
||||
>>> purchase_request.quantity
|
||||
125.0
|
||||
@@ -341,7 +277,6 @@ the sale::
|
||||
|
||||
The sale is then in exception::
|
||||
|
||||
>>> set_user(sale_user)
|
||||
>>> sale.reload()
|
||||
>>> sale.shipment_state
|
||||
'exception'
|
||||
@@ -358,13 +293,11 @@ from stock::
|
||||
|
||||
>>> shipment, = sale.shipments
|
||||
|
||||
>>> set_user(stock_user)
|
||||
>>> shipment.click('assign_force')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('do')
|
||||
|
||||
>>> set_user(sale_user)
|
||||
>>> sale.reload()
|
||||
>>> sale.shipment_state
|
||||
'sent'
|
||||
|
||||
@@ -20,6 +20,22 @@ Activate modules::
|
||||
|
||||
>>> config = activate_modules('stock', create_company)
|
||||
|
||||
>>> Employee = Model.get('company.employee')
|
||||
>>> Party = Model.get('party.party')
|
||||
>>> User = Model.get('res.user')
|
||||
|
||||
Set employee::
|
||||
|
||||
>>> employee_party = Party(name="Employee")
|
||||
>>> employee_party.save()
|
||||
>>> employee = Employee(party=employee_party)
|
||||
>>> employee.save()
|
||||
>>> user = User(config.user)
|
||||
>>> user.employees.append(employee)
|
||||
>>> user.employee = employee
|
||||
>>> user.save()
|
||||
>>> set_user(user.id)
|
||||
|
||||
Create product::
|
||||
|
||||
>>> ProductUom = Model.get('product.uom')
|
||||
@@ -43,28 +59,8 @@ Get stock locations::
|
||||
... name="Internal", type='storage', parent=storage_loc.parent)
|
||||
>>> internal_loc.save()
|
||||
|
||||
Create stock user::
|
||||
|
||||
>>> User = Model.get('res.user')
|
||||
>>> Group = Model.get('res.group')
|
||||
>>> Party = Model.get('party.party')
|
||||
>>> Employee = Model.get('company.employee')
|
||||
>>> stock_user = User()
|
||||
>>> stock_user.name = 'Stock'
|
||||
>>> stock_user.login = 'stock'
|
||||
>>> stock_group, = Group.find([('name', '=', 'Stock')])
|
||||
>>> stock_user.groups.append(stock_group)
|
||||
>>> employee_party = Party(name="Employee")
|
||||
>>> employee_party.save()
|
||||
>>> employee = Employee(party=employee_party)
|
||||
>>> employee.save()
|
||||
>>> stock_user.employees.append(employee)
|
||||
>>> stock_user.employee = employee
|
||||
>>> stock_user.save()
|
||||
|
||||
Create Internal Shipment::
|
||||
|
||||
>>> set_user(stock_user)
|
||||
>>> Shipment = Model.get('stock.shipment.internal')
|
||||
>>> StockMove = Model.get('stock.move')
|
||||
>>> shipment = Shipment()
|
||||
@@ -136,7 +132,6 @@ Reschedule shipment::
|
||||
|
||||
>>> shipment_copy.planned_date = yesterday
|
||||
>>> shipment_copy.click('wait')
|
||||
>>> set_user(1)
|
||||
>>> Cron = Model.get('ir.cron')
|
||||
>>> cron = Cron(method='stock.shipment.internal|reschedule')
|
||||
>>> cron.interval_number = 1
|
||||
|
||||
@@ -20,6 +20,22 @@ Activate modules::
|
||||
|
||||
>>> config = activate_modules('stock', create_company)
|
||||
|
||||
>>> Employee = Model.get('company.employee')
|
||||
>>> Party = Model.get('party.party')
|
||||
>>> User = Model.get('res.user')
|
||||
|
||||
Set employee::
|
||||
|
||||
>>> employee_party = Party(name="Employee")
|
||||
>>> employee_party.save()
|
||||
>>> employee = Employee(party=employee_party)
|
||||
>>> employee.save()
|
||||
>>> user = User(config.user)
|
||||
>>> user.employees.append(employee)
|
||||
>>> user.employee = employee
|
||||
>>> user.save()
|
||||
>>> set_user(user.id)
|
||||
|
||||
Get currency::
|
||||
|
||||
>>> currency = get_currency()
|
||||
@@ -44,27 +60,6 @@ Create product::
|
||||
>>> template.save()
|
||||
>>> product, = template.products
|
||||
|
||||
Create stock user::
|
||||
|
||||
>>> User = Model.get('res.user')
|
||||
>>> Group = Model.get('res.group')
|
||||
>>> Employee = Model.get('company.employee')
|
||||
>>> stock_user = User()
|
||||
>>> stock_user.name = "Stock"
|
||||
>>> stock_user.login = 'stock'
|
||||
>>> stock_user.groups.extend(Group.find([
|
||||
... ('name', '=', 'Stock'),
|
||||
... ]))
|
||||
>>> employee_party = Party(name="Employee")
|
||||
>>> employee_party.save()
|
||||
>>> employee = Employee(party=employee_party)
|
||||
>>> employee.save()
|
||||
>>> stock_user.employees.append(employee)
|
||||
>>> stock_user.employee = employee
|
||||
>>> stock_user.save()
|
||||
|
||||
>>> set_user(stock_user)
|
||||
|
||||
Get stock locations::
|
||||
|
||||
>>> Location = Model.get('stock.location')
|
||||
@@ -280,7 +275,6 @@ Reschedule shipment::
|
||||
>>> shipment_copy, = shipment_out.duplicate()
|
||||
>>> shipment_copy.planned_date = yesterday
|
||||
>>> shipment_copy.click('wait')
|
||||
>>> set_user(1)
|
||||
>>> Cron = Model.get('ir.cron')
|
||||
>>> cron = Cron(method='stock.shipment.out|reschedule')
|
||||
>>> cron.interval_number = 1
|
||||
|
||||
@@ -8,46 +8,14 @@ Imports::
|
||||
|
||||
>>> from proteus import Model, Wizard
|
||||
>>> from trytond.modules.company.tests.tools import create_company
|
||||
>>> from trytond.tests.tools import activate_modules, set_user
|
||||
>>> from trytond.tests.tools import activate_modules
|
||||
|
||||
Activate modules::
|
||||
|
||||
>>> config = activate_modules('stock_supply', create_company)
|
||||
|
||||
Create stock admin user::
|
||||
|
||||
>>> User = Model.get('res.user')
|
||||
>>> Group = Model.get('res.group')
|
||||
>>> stock_admin_user = User()
|
||||
>>> stock_admin_user.name = 'Stock Admin'
|
||||
>>> stock_admin_user.login = 'stock_admin'
|
||||
>>> stock_admin_group, = Group.find([('name', '=', 'Stock Administration')])
|
||||
>>> stock_admin_user.groups.append(stock_admin_group)
|
||||
>>> stock_admin_user.save()
|
||||
|
||||
Create stock user::
|
||||
|
||||
>>> stock_user = User()
|
||||
>>> stock_user.name = 'Stock'
|
||||
>>> stock_user.login = 'stock'
|
||||
>>> stock_group, = Group.find([('name', '=', 'Stock')])
|
||||
>>> stock_user.groups.append(stock_group)
|
||||
>>> stock_user.save()
|
||||
|
||||
Create product user::
|
||||
|
||||
>>> product_admin_user = User()
|
||||
>>> product_admin_user.name = 'Product'
|
||||
>>> product_admin_user.login = 'product'
|
||||
>>> product_admin_group, = Group.find([
|
||||
... ('name', '=', 'Product Administration')
|
||||
... ])
|
||||
>>> product_admin_user.groups.append(product_admin_group)
|
||||
>>> product_admin_user.save()
|
||||
|
||||
Create product::
|
||||
|
||||
>>> set_user(product_admin_user)
|
||||
>>> ProductUom = Model.get('product.uom')
|
||||
>>> ProductTemplate = Model.get('product.template')
|
||||
>>> unit, = ProductUom.find([('name', '=', 'Unit')])
|
||||
@@ -62,7 +30,6 @@ Create product::
|
||||
|
||||
Get stock locations::
|
||||
|
||||
>>> set_user(stock_admin_user)
|
||||
>>> Location = Model.get('stock.location')
|
||||
>>> warehouse_loc, = Location.find([('code', '=', 'WH')])
|
||||
>>> supplier_loc, = Location.find([('code', '=', 'SUP')])
|
||||
@@ -103,7 +70,6 @@ Create internal order point::
|
||||
|
||||
Create inventory to add enough quantity in Provisioning Location::
|
||||
|
||||
>>> set_user(stock_user)
|
||||
>>> Inventory = Model.get('stock.inventory')
|
||||
>>> inventory = Inventory()
|
||||
>>> inventory.location = provisioning_loc
|
||||
@@ -117,9 +83,7 @@ Create inventory to add enough quantity in Provisioning Location::
|
||||
Execute internal supply::
|
||||
|
||||
>>> ShipmentInternal = Model.get('stock.shipment.internal')
|
||||
>>> set_user(stock_admin_user)
|
||||
>>> Wizard('stock.supply').execute('create_')
|
||||
>>> set_user(stock_user)
|
||||
>>> shipment, = ShipmentInternal.find([])
|
||||
>>> shipment.state
|
||||
'request'
|
||||
@@ -149,9 +113,7 @@ Create negative quantity in Second Storage::
|
||||
|
||||
Execute internal supply::
|
||||
|
||||
>>> set_user(stock_admin_user)
|
||||
>>> Wizard('stock.supply').execute('create_')
|
||||
>>> set_user(stock_user)
|
||||
>>> shipment, = ShipmentInternal.find(
|
||||
... [('to_location', '=', sec_storage_loc.id)])
|
||||
>>> shipment.state
|
||||
@@ -171,8 +133,6 @@ Execute internal supply::
|
||||
Create stock_supply cron and execute it::
|
||||
|
||||
>>> Cron = Model.get('ir.cron')
|
||||
>>> admin_user, = User.find([('login', '=', 'admin')])
|
||||
>>> set_user(admin_user)
|
||||
>>> shipment.delete()
|
||||
>>> cron = Cron(method='stock.order_point|supply_stock')
|
||||
>>> cron.interval_number = 1
|
||||
|
||||
@@ -11,7 +11,7 @@ Imports::
|
||||
>>> from trytond.modules.account.tests.tools import create_chart, get_accounts
|
||||
>>> from trytond.modules.company.tests.tools import create_company
|
||||
>>> from trytond.modules.currency.tests.tools import get_currency
|
||||
>>> from trytond.tests.tools import activate_modules, assertEqual, set_user
|
||||
>>> from trytond.tests.tools import activate_modules, assertEqual
|
||||
|
||||
>>> today = dt.date.today()
|
||||
|
||||
@@ -39,50 +39,6 @@ Configure supply period::
|
||||
>>> purchase_config.supply_period = dt.timedelta(days=30)
|
||||
>>> purchase_config.save()
|
||||
|
||||
Create stock admin user::
|
||||
|
||||
>>> User = Model.get('res.user')
|
||||
>>> Group = Model.get('res.group')
|
||||
>>> stock_admin_user = User()
|
||||
>>> stock_admin_user.name = 'Stock Admin'
|
||||
>>> stock_admin_user.login = 'stock_admin'
|
||||
>>> stock_admin_group, = Group.find([('name', '=', 'Stock Administration')])
|
||||
>>> stock_admin_user.groups.append(stock_admin_group)
|
||||
>>> stock_admin_user.save()
|
||||
|
||||
Create stock user::
|
||||
|
||||
>>> stock_user = User()
|
||||
>>> stock_user.name = 'Stock'
|
||||
>>> stock_user.login = 'stock'
|
||||
>>> stock_group, = Group.find([('name', '=', 'Stock')])
|
||||
>>> stock_user.groups.append(stock_group)
|
||||
>>> stock_user.save()
|
||||
|
||||
Create product user::
|
||||
|
||||
>>> product_admin_user = User()
|
||||
>>> product_admin_user.name = 'Product'
|
||||
>>> product_admin_user.login = 'product'
|
||||
>>> product_admin_group, = Group.find([
|
||||
... ('name', '=', 'Account Product Administration'),
|
||||
... ])
|
||||
>>> product_admin_user.groups.append(product_admin_group)
|
||||
>>> product_admin_user.save()
|
||||
|
||||
Create purchase user::
|
||||
|
||||
>>> purchase_user = User()
|
||||
>>> purchase_user.name = 'Purchase'
|
||||
>>> purchase_user.login = 'purchase'
|
||||
>>> purchase_groups = Group.find(['OR',
|
||||
... ('name', '=', "Purchase"),
|
||||
... ('name', '=', "Purchase Request"),
|
||||
... ])
|
||||
>>> purchase_user.groups.extend(purchase_groups)
|
||||
>>> purchase_user.save()
|
||||
|
||||
|
||||
Create account category::
|
||||
|
||||
>>> ProductCategory = Model.get('product.category')
|
||||
@@ -93,7 +49,6 @@ Create account category::
|
||||
|
||||
Create product::
|
||||
|
||||
>>> set_user(product_admin_user)
|
||||
>>> ProductUom = Model.get('product.uom')
|
||||
>>> ProductTemplate = Model.get('product.template')
|
||||
>>> unit, = ProductUom.find([('name', '=', 'Unit')])
|
||||
@@ -110,7 +65,6 @@ Create product::
|
||||
|
||||
Define a product supplier::
|
||||
|
||||
>>> set_user(purchase_user)
|
||||
>>> ProductSupplier = Model.get('purchase.product_supplier')
|
||||
>>> product_supplier = ProductSupplier(template=template)
|
||||
>>> product_supplier.party = supplier
|
||||
@@ -119,7 +73,6 @@ Define a product supplier::
|
||||
|
||||
Get stock locations::
|
||||
|
||||
>>> set_user(stock_admin_user)
|
||||
>>> Location = Model.get('stock.location')
|
||||
>>> warehouse_loc, = Location.find([('code', '=', 'WH')])
|
||||
>>> supplier_loc, = Location.find([('code', '=', 'SUP')])
|
||||
@@ -129,7 +82,6 @@ Get stock locations::
|
||||
|
||||
Create needs for missing product::
|
||||
|
||||
>>> set_user(stock_user)
|
||||
>>> ShipmentOut = Model.get('stock.shipment.out')
|
||||
>>> shipment_out = ShipmentOut()
|
||||
>>> shipment_out.planned_date = today
|
||||
@@ -153,19 +105,16 @@ Create needs for missing product::
|
||||
There is no purchase request::
|
||||
|
||||
>>> PurchaseRequest = Model.get('purchase.request')
|
||||
>>> set_user(purchase_user)
|
||||
>>> PurchaseRequest.find([])
|
||||
[]
|
||||
|
||||
Create the purchase request::
|
||||
|
||||
>>> set_user(stock_admin_user)
|
||||
>>> create_pr = Wizard('stock.supply')
|
||||
>>> create_pr.execute('create_')
|
||||
|
||||
There is now a draft purchase request::
|
||||
|
||||
>>> set_user(purchase_user)
|
||||
>>> pr, = PurchaseRequest.find([('state', '=', 'draft')])
|
||||
>>> assertEqual(pr.product, product)
|
||||
>>> pr.quantity
|
||||
@@ -173,7 +122,6 @@ There is now a draft purchase request::
|
||||
|
||||
Create an order point with negative minimal quantity::
|
||||
|
||||
>>> set_user(stock_admin_user)
|
||||
>>> OrderPoint = Model.get('stock.order_point')
|
||||
>>> order_point = OrderPoint()
|
||||
>>> order_point.type = 'purchase'
|
||||
@@ -190,13 +138,11 @@ Create purchase request::
|
||||
|
||||
There is no more purchase request::
|
||||
|
||||
>>> set_user(purchase_user)
|
||||
>>> PurchaseRequest.find([])
|
||||
[]
|
||||
|
||||
Set a positive minimal quantity on order point create purchase request::
|
||||
|
||||
>>> set_user(stock_admin_user)
|
||||
>>> order_point.min_quantity = 5
|
||||
>>> order_point.save()
|
||||
>>> create_pr = Wizard('stock.supply')
|
||||
@@ -204,7 +150,6 @@ Set a positive minimal quantity on order point create purchase request::
|
||||
|
||||
There is now a draft purchase request::
|
||||
|
||||
>>> set_user(purchase_user)
|
||||
>>> pr, = PurchaseRequest.find([('state', '=', 'draft')])
|
||||
>>> assertEqual(pr.product, product)
|
||||
>>> pr.quantity
|
||||
@@ -212,7 +157,6 @@ There is now a draft purchase request::
|
||||
|
||||
Using zero as minimal quantity on order point also creates purchase request::
|
||||
|
||||
>>> set_user(stock_admin_user)
|
||||
>>> order_point.min_quantity = 0
|
||||
>>> order_point.save()
|
||||
>>> create_pr = Wizard('stock.supply')
|
||||
@@ -220,7 +164,6 @@ Using zero as minimal quantity on order point also creates purchase request::
|
||||
|
||||
There is now a draft purchase request::
|
||||
|
||||
>>> set_user(purchase_user)
|
||||
>>> pr, = PurchaseRequest.find([('state', '=', 'draft')])
|
||||
>>> assertEqual(pr.product, product)
|
||||
>>> pr.quantity
|
||||
@@ -232,10 +175,8 @@ Re-run with purchased request::
|
||||
>>> pr.state
|
||||
'purchased'
|
||||
|
||||
>>> set_user(stock_admin_user)
|
||||
>>> create_pr = Wizard('stock.supply')
|
||||
>>> create_pr.execute('create_')
|
||||
|
||||
>>> set_user(purchase_user)
|
||||
>>> len(PurchaseRequest.find([('state', '=', 'draft')]))
|
||||
0
|
||||
|
||||
Reference in New Issue
Block a user