Skip to content

Commit

Permalink
[FIX] test script
Browse files Browse the repository at this point in the history
  • Loading branch information
Saran440 committed Aug 14, 2024
1 parent 3b916c0 commit cf05135
Show file tree
Hide file tree
Showing 6 changed files with 39 additions and 28 deletions.
6 changes: 3 additions & 3 deletions budget_control_purchase_request/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Budget Control on Purchase Request
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-ecosoft--odoo%2Fbudgeting-lightgray.png?logo=github
:target: https://github.com/ecosoft-odoo/budgeting/tree/15.0/budget_control_purchase_request
:target: https://github.com/ecosoft-odoo/budgeting/tree/16.0/budget_control_purchase_request
:alt: ecosoft-odoo/budgeting

|badge1| |badge2| |badge3|
Expand Down Expand Up @@ -45,7 +45,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues <https://github.com/ecosoft-odoo/budgeting/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/ecosoft-odoo/budgeting/issues/new?body=module:%20budget_control_purchase_request%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
`feedback <https://github.com/ecosoft-odoo/budgeting/issues/new?body=module:%20budget_control_purchase_request%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Expand Down Expand Up @@ -74,6 +74,6 @@ Current maintainer:

|maintainer-kittiu|

This module is part of the `ecosoft-odoo/budgeting <https://github.com/ecosoft-odoo/budgeting/tree/15.0/budget_control_purchase_request>`_ project on GitHub.
This module is part of the `ecosoft-odoo/budgeting <https://github.com/ecosoft-odoo/budgeting/tree/16.0/budget_control_purchase_request>`_ project on GitHub.

You are welcome to contribute.
2 changes: 1 addition & 1 deletion budget_control_purchase_request/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

{
"name": "Budget Control on Purchase Request",
"version": "15.0.1.0.0",
"version": "16.0.1.0.0",
"license": "AGPL-3",
"author": "Ecosoft, Odoo Community Association (OCA)",
"website": "https://github.com/ecosoft-odoo/budgeting",
Expand Down
2 changes: 1 addition & 1 deletion budget_control_purchase_request/models/purchase_request.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ def write(self, vals):

def button_approved(self):
res = super().button_approved()
self.flush()
self.flush_model()
BudgetPeriod = self.env["budget.period"]
for doc in self:
BudgetPeriod.check_budget(doc.line_ids, doc_type="purchase_request")
Expand Down
14 changes: 7 additions & 7 deletions budget_control_purchase_request/static/description/index.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
Expand All @@ -9,10 +8,11 @@

/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $
:Copyright: This stylesheet has been placed in the public domain.

Default cascading style sheet for the HTML output of Docutils.
Despite the name, some widely supported CSS2 features are used.

See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
customize this style sheet.
Expand Down Expand Up @@ -275,7 +275,7 @@
margin-left: 2em ;
margin-right: 2em }

pre.code .ln { color: grey; } /* line numbers */
pre.code .ln { color: gray; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
Expand All @@ -301,7 +301,7 @@
span.pre {
white-space: pre }

span.problematic {
span.problematic, pre.problematic {
color: red }

span.section-subtitle {
Expand Down Expand Up @@ -369,7 +369,7 @@ <h1 class="title">Budget Control on Purchase Request</h1>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:7146707799784bb21d8e53d22fba0d6756866f1de1861508f78d57eab6679936
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Alpha" src="https://img.shields.io/badge/maturity-Alpha-red.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/ecosoft-odoo/budgeting/tree/15.0/budget_control_purchase_request"><img alt="ecosoft-odoo/budgeting" src="https://img.shields.io/badge/github-ecosoft--odoo%2Fbudgeting-lightgray.png?logo=github" /></a></p>
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Alpha" src="https://img.shields.io/badge/maturity-Alpha-red.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/ecosoft-odoo/budgeting/tree/16.0/budget_control_purchase_request"><img alt="ecosoft-odoo/budgeting" src="https://img.shields.io/badge/github-ecosoft--odoo%2Fbudgeting-lightgray.png?logo=github" /></a></p>
<p>This module will create budget commitment for purchase request (to be used as alternate actual source in mis_builder)</p>
<p>When purchase request is approved, purchase.request.budget.move is created, and when
purchase order is confirmed, reversed purchase.request.budget.move is created.</p>
Expand Down Expand Up @@ -397,7 +397,7 @@ <h1><a class="toc-backref" href="#toc-entry-1">Bug Tracker</a></h1>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/ecosoft-odoo/budgeting/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/ecosoft-odoo/budgeting/issues/new?body=module:%20budget_control_purchase_request%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<a class="reference external" href="https://github.com/ecosoft-odoo/budgeting/issues/new?body=module:%20budget_control_purchase_request%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
Expand All @@ -419,7 +419,7 @@ <h2><a class="toc-backref" href="#toc-entry-4">Contributors</a></h2>
<h2><a class="toc-backref" href="#toc-entry-5">Maintainers</a></h2>
<p>Current maintainer:</p>
<p><a class="reference external image-reference" href="https://github.com/kittiu"><img alt="kittiu" src="https://github.com/kittiu.png?size=40px" /></a></p>
<p>This module is part of the <a class="reference external" href="https://github.com/ecosoft-odoo/budgeting/tree/15.0/budget_control_purchase_request">ecosoft-odoo/budgeting</a> project on GitHub.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/ecosoft-odoo/budgeting/tree/16.0/budget_control_purchase_request">ecosoft-odoo/budgeting</a> project on GitHub.</p>
<p>You are welcome to contribute.</p>
</div>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,6 @@ def setUpClass(cls):
cls.budget_control.line_ids.filtered(lambda x: x.kpi_id == cls.kpi2)[:1].write(
{"amount": 200}
)
cls.budget_control.flush() # Need to flush data into table, so it can be sql
cls.budget_control.allocated_amount = 300
cls.budget_control.action_done()

@freeze_time("2001-02-01")
def _create_purchase_request(self, pr_lines):
Expand All @@ -58,7 +55,7 @@ def _create_purchase_request(self, pr_lines):
line.product_id = pr_line["product_id"]
line.product_qty = pr_line["product_qty"]
line.estimated_cost = pr_line["estimated_cost"]
line.analytic_account_id = pr_line["analytic_id"]
line.analytic_distribution = pr_line["analytic_distribution"]
purchase_request = pr.save()
return purchase_request

Expand All @@ -71,22 +68,27 @@ def test_01_budget_purchase_request(self):
(3) Check Budget with analytic -> OK
(2) Check Budget with analytic -> Error amount exceed
"""
# Allocate and Done
self.budget_control.allocated_amount = 300
self.budget_control.action_done()

# KPI1 = 100, KPI2 = 200, Total = 300
self.assertEqual(300, self.budget_control.amount_budget)
# Prepare PR
analytic_distribution = {str(self.costcenter1.id): 100}
purchase_request = self._create_purchase_request(
[
{
"product_id": self.product1, # KPI1 = 101 -> error
"product_qty": 1,
"estimated_cost": 101,
"analytic_id": self.costcenter1,
"analytic_distribution": analytic_distribution,
},
{
"product_id": self.product2, # KPI2 = 198
"product_qty": 2,
"estimated_cost": 198, # This is the price of qty 2
"analytic_id": self.costcenter1,
"analytic_distribution": analytic_distribution,
},
]
)
Expand Down Expand Up @@ -124,16 +126,21 @@ def test_01_budget_purchase_request(self):
@freeze_time("2001-02-01")
def test_02_budget_pr_to_po(self):
"""PR to PO normally don't care about Quantity, it will uncommit all"""
# Allocate and Done
self.budget_control.allocated_amount = 300
self.budget_control.action_done()

# KPI1 = 100, KPI2 = 200, Total = 300
self.assertEqual(300, self.budget_control.amount_budget)
# Prepare PR
analytic_distribution = {str(self.costcenter1.id): 100}
purchase_request = self._create_purchase_request(
[
{
"product_id": self.product1, # KPI1 = 30
"product_qty": 3,
"estimated_cost": 30,
"analytic_id": self.costcenter1,
"analytic_distribution": analytic_distribution,
},
]
)
Expand Down Expand Up @@ -185,22 +192,27 @@ def test_03_budget_recompute_and_close_budget_move(self):
"""PR to PO (partial PO, but PR will return all)
- Test recompute on both PR and PO
- Test close on both PR and PO"""
# Allocate and Done
self.budget_control.allocated_amount = 300
self.budget_control.action_done()

# KPI1 = 100, KPI2 = 200, Total = 300
self.assertEqual(300, self.budget_control.amount_budget)
# Prepare PR
analytic_distribution = {str(self.costcenter1.id): 100}
purchase_request = self._create_purchase_request(
[
{
"product_id": self.product1, # KPI1 = 30
"product_qty": 2,
"estimated_cost": 30,
"analytic_id": self.costcenter1,
"analytic_distribution": analytic_distribution,
},
{
"product_id": self.product2, # KPI2 = 40
"product_qty": 4,
"estimated_cost": 40,
"analytic_id": self.costcenter1,
"analytic_distribution": analytic_distribution,
},
]
)
Expand Down Expand Up @@ -239,19 +251,19 @@ def test_03_budget_recompute_and_close_budget_move(self):
self.assertEqual(self.budget_control.amount_purchase, 45)
# Recompute PR and PO, should be the same.
purchase_request.recompute_budget_move()
self.budget_control.invalidate_cache()
self.budget_control._compute_budget_info()
self.assertEqual(self.budget_control.amount_purchase_request, 0)
self.assertEqual(self.budget_control.amount_purchase, 45)
purchase.recompute_budget_move()
self.budget_control.invalidate_cache()
self.budget_control._compute_budget_info()
self.assertEqual(self.budget_control.amount_purchase_request, 0)
self.assertEqual(self.budget_control.amount_purchase, 45)
# Close budget
purchase_request.close_budget_move()
self.budget_control.invalidate_cache()
self.budget_control._compute_budget_info()
self.assertEqual(self.budget_control.amount_purchase_request, 0)
self.assertEqual(self.budget_control.amount_purchase, 45)
purchase.close_budget_move()
self.budget_control.invalidate_cache()
self.budget_control._compute_budget_info()
self.assertEqual(self.budget_control.amount_purchase_request, 0)
self.assertEqual(self.budget_control.amount_purchase, 0)
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<field name="model">purchase.request</field>
<field name="inherit_id" ref="purchase_request.view_purchase_request_form" />
<field name="arch" type="xml">
<!-- <xpath
<xpath
expr="//page/field[@name='line_ids']/tree/field[@name='analytic_distribution']"
position="after"
>
Expand All @@ -16,10 +16,9 @@
string="Budget Figure"
width="10px"
widget="popover_widget"
attrs="{'invisible': [('analytic_account_id', '=', False)]}"
groups="budget_control.group_budget_control_user"
/>
</xpath> -->
</xpath>
<xpath
expr="//page/field[@name='line_ids']/tree/field[last()]"
position="after"
Expand Down

0 comments on commit cf05135

Please sign in to comment.