def test_measure_forms_conditions_wizard_clears_unneeded_certificate( date_ranges): """Tests that MeasureConditionsWizardStepForm removes certificates that are not expected by the measure condition code.""" certificate = factories.CertificateFactory.create() code_with_certificate = factories.MeasureConditionCodeFactory( accepts_certificate=True, ) code_without_certificate = factories.MeasureConditionCodeFactory( accepts_certificate=False, ) action = factories.MeasureActionFactory.create() data = { "required_certificate": certificate.pk, "action": action.pk, } form_expects_certificate = forms.MeasureConditionsWizardStepForm( dict(data, **{"condition_code": code_with_certificate.pk}), prefix="", measure_start_date=date_ranges.normal, ) form_expects_certificate.is_valid() assert form_expects_certificate.cleaned_data[ "required_certificate"] == certificate form_expects_no_certificate = forms.MeasureConditionsWizardStepForm( dict(data, **{"condition_code": code_without_certificate.pk}), prefix="", measure_start_date=date_ranges.normal, ) assert form_expects_no_certificate.is_valid() assert form_expects_no_certificate.cleaned_data[ "required_certificate"] is None
def condition_codes() -> Dict[str, MeasureConditionCode]: return { mcc.code: mcc for mcc in [ factories.MeasureConditionCodeFactory(code="A"), factories.MeasureConditionCodeFactory(code="Y"), ] }
def test_copy_nested_fk(): measure = factories.MeasureFactory.create() workbasket = factories.ApprovedWorkBasketFactory.create() transaction = workbasket.new_transaction() factories.MeasureConditionFactory.create( transaction=transaction, dependent_measure=measure, ) condition_code = factories.MeasureConditionCodeFactory() copied_measure = measure.copy( transaction, conditions__condition_code=condition_code, ) assert copied_measure.conditions.first().condition_code == condition_code
def order_number_objects(): factories.MeasureConditionCodeFactory(code="Q") factories.MeasureActionFactory(code="27") factories.MeasureActionFactory(code="07")
def authorised_use_objects(): factories.MeasureConditionCodeFactory(code="B") factories.MeasureActionFactory(code="27") factories.MeasureActionFactory(code="08") factories.CertificateFactory(sid="990", certificate_type__sid="N")
def condition_measure_objects(): factories.MeasureConditionCodeFactory(code="B") factories.MeasureActionFactory(code="29") factories.MeasureActionFactory(code="09") factories.CertificateFactory(sid="001", certificate_type__sid="C")
def proofs_of_origin_objects(): factories.MeasureConditionCodeFactory(code="Q") factories.MeasureActionFactory(code="27") factories.MeasureActionFactory(code="07")