-
-
Notifications
You must be signed in to change notification settings - Fork 281
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FIX] account_invoice_inter_company: Move demo data to test #110
[FIX] account_invoice_inter_company: Move demo data to test #110
Conversation
This demo data is quite dangerous by design, since it creates compenies, accounts, decides the companies country, etc. All of that by hand. In a tested integration environment, this fails when installing account-related addons due to companies not having a chart of accounts. The fix is simple: remove this from demo data and leave it just as test data.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
e2bbde3
to
1f403e3
Compare
Travis' ❌ is unrelated, and the main branch is already broken as you can see. You can also check that this addon's tests pass fine. |
'account_invoice_inter_company.user_company_b') | ||
|
||
self.chart = self.env['account.chart.template'].search([], limit=1) | ||
if not self.chart: | ||
cls.chart = cls.env['account.chart.template'].search([], limit=1) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This shouldn't be the method. You have a method try_load_chart_template
or similar executed on company record for loading the proper chart template.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AFAICS this line can be removed, as it's not used. I don't want to refactor everything unless strictly necessary, TBH.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But you need to load the chart template any way. Previously they tricked the system adding as demo all the stuff that this method makes. You need also to look for demo XML-IDs used here in the test.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I'm just loading the XML data in the test itself. It seems a common pattern for testing when you need to lazy-load some demo data, or you need to ensure its state. This way I don't need to rewrite the tests.
You can see it works fine.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, it can cause side effects, as not all data is properly set (from the account
module perspective, and this is an irregular way of having a chart of account. For example, field chart_template_id
on company is not set - as there's no chart template -), so this can throw side effects, not right now, but on future changes or dependent modules.
I didn't have to change the approach for this, so I fast-track it (although branch is red due to other failed test), and I can, I'll do it in a new PR. |
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
BSSBG-2636: Adding new sequence for default code on products
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
Make tests compatible with OCA#110, for the same reason as the specified in that link.
This demo data is quite dangerous by design, since it creates compenies, accounts, decides the companies country, etc. All of that by hand.
In a tested integration environment, this fails when installing account-related addons due to companies not having a chart of accounts.
The fix is simple: remove this from demo data and leave it just as test data.
@Tecnativa