Coffee
This commit is contained in:
@@ -22,6 +22,7 @@ from trytond.modules.purchase_trade import stock as stock_module
|
||||
from trytond.modules.purchase_trade import fee as fee_module
|
||||
from trytond.modules.purchase_trade import pricing as pricing_module
|
||||
from trytond.modules.purchase_trade import duplicate as duplicate_module
|
||||
from trytond.modules.purchase_trade import coffee as coffee_module
|
||||
from trytond.modules.purchase_trade import company_defaults
|
||||
from trytond.modules.purchase_trade.service import ContractFactory
|
||||
|
||||
@@ -30,6 +31,45 @@ class PurchaseTradeTestCase(ModuleTestCase):
|
||||
'Test purchase_trade module'
|
||||
module = 'purchase_trade'
|
||||
|
||||
def test_coffee_sample_cup_score_sums_cupping_criteria(self):
|
||||
'coffee sample cup score sums criteria and subtracts defects'
|
||||
score_fields = [
|
||||
'aroma', 'flavor', 'aftertaste', 'acidity', 'body', 'balance',
|
||||
'sweetness', 'clean_cup', 'uniformity', 'overall']
|
||||
sample = SimpleNamespace(
|
||||
defects=Decimal('2.00'),
|
||||
_score_fields=lambda: score_fields)
|
||||
for field_name in score_fields:
|
||||
setattr(sample, field_name, Decimal('8.00'))
|
||||
|
||||
self.assertEqual(
|
||||
coffee_module.CoffeeSample.get_total_score(sample),
|
||||
Decimal('78.00'))
|
||||
|
||||
def test_coffee_sample_default_expiry_date_uses_shelf_life(self):
|
||||
'coffee sample expiry date defaults from request date and shelf life'
|
||||
values = {
|
||||
'requested_date': datetime.date(2026, 6, 29),
|
||||
'shelf_life_days': 30,
|
||||
}
|
||||
|
||||
coffee_module.CoffeeSample._set_default_expiry_date(
|
||||
values, force=True)
|
||||
|
||||
self.assertEqual(
|
||||
values['expiry_date'], datetime.date(2026, 7, 29))
|
||||
|
||||
@with_transaction()
|
||||
def test_purchase_line_coffee_quality_status_uses_samples(self):
|
||||
'purchase line coffee quality status follows linked samples'
|
||||
PurchaseLine = Pool().get('purchase.line')
|
||||
line = PurchaseLine()
|
||||
line.coffee_samples = [
|
||||
Mock(state='approved', get_is_expired=Mock(return_value=False))]
|
||||
|
||||
self.assertEqual(
|
||||
line.get_coffee_quality_status(), 'approved')
|
||||
|
||||
def test_itsa_book_year_suffix_uses_april_fiscal_start(self):
|
||||
'ITSA book year changes on April 1st'
|
||||
self.assertEqual(
|
||||
|
||||
Reference in New Issue
Block a user