def test_character_limit_errors(content, submission):
    text_fields = [
        "appropriateTradeRegistersNumber",
        "companyRegistrationNumber",
        "contactNameContractNotice",
        "currentRegisteredCountry",
        "firstRegistered",
        "licenceOrMemberRequiredDetails",
        "mitigatingFactors",
        "mitigatingFactors2",
        "nameOfOrganisation",
        "primaryContact",
        "registeredAddress",
        "registeredVATNumber",
        "tradingNames",
        "tradingStatusOther",
    ]

    for field in text_fields:
        submission[field] = "a" * 5001
        validator = DOSValidator(content, submission)
        assert validator.errors() == {field: "under_character_limit"}

        submission[field] = "a" * 5000
        validator = DOSValidator(content, submission)
        assert validator.errors() == {}
Exemplo n.º 2
0
def test_invalid_email_addresses_cause_errors(content, submission):
    submission['primaryContactEmail'] = '@invalid.com'
    submission['contactEmailContractNotice'] = 'some.user.missed.their.at.com'

    validator = DOSValidator(content, submission)
    assert validator.errors() == {
        'primaryContactEmail': 'invalid_format',
        'contactEmailContractNotice': 'invalid_format'
    }
def test_invalid_email_addresses_cause_errors(content, submission):
    submission['primaryContactEmail'] = '@invalid.com'
    submission['contactEmailContractNotice'] = 'some.user.missed.their.at.com'

    validator = DOSValidator(content, submission)
    assert validator.errors() == {
        'primaryContactEmail': 'invalid_format',
        'contactEmailContractNotice': 'invalid_format'
    }
def test_licence_or_member_error_depends_on_established_in_uk(content, submission):
    del submission['licenceOrMemberRequired']

    submission['establishedInTheUK'] = True
    validator = DOSValidator(content, submission)
    assert validator.errors() == {}

    submission['establishedInTheUK'] = False
    validator = DOSValidator(content, submission)
    assert validator.errors() == {"licenceOrMemberRequired": "answer_required"}
def test_trade_registers_error_depends_on_established_in_uk(content, submission):
    del submission['appropriateTradeRegisters']

    submission['establishedInTheUK'] = True
    validator = DOSValidator(content, submission)
    assert validator.errors() == {}

    submission['establishedInTheUK'] = False
    validator = DOSValidator(content, submission)
    assert validator.errors() == {"appropriateTradeRegisters": "answer_required"}
def test_trading_status_details_error_depends_on_trading_status(content, submission):
    del submission['tradingStatusOther']

    submission['tradingStatus'] = "something"
    validator = DOSValidator(content, submission)
    assert validator.errors() == {}

    submission['tradingStatus'] = "other (please specify)"
    validator = DOSValidator(content, submission)
    assert validator.errors() == {"tradingStatusOther": "answer_required"}
Exemplo n.º 7
0
def test_error_if_mitigating_factors2_not_provided_when_required(
        content, submission):
    del submission['mitigatingFactors2']
    dependent_fields = ["unspentTaxConvictions", "GAAR"]
    for field in dependent_fields:
        for other in dependent_fields:
            submission[other] = False
        submission[field] = True

        validator = DOSValidator(content, submission)
        assert validator.errors() == {"mitigatingFactors2": "answer_required"}
def test_error_if_mitigating_factors2_not_provided_when_required(content, submission):
    del submission['mitigatingFactors2']
    dependent_fields = [
        "unspentTaxConvictions", "GAAR"
    ]
    for field in dependent_fields:
        for other in dependent_fields:
            submission[other] = False
        submission[field] = True

        validator = DOSValidator(content, submission)
        assert validator.errors() == {"mitigatingFactors2": "answer_required"}
def test_error_if_mitigating_factors_not_provided_when_required(content, submission):
    del submission['mitigatingFactors']
    dependent_fields = [
        'misleadingInformation', 'confidentialInformation', 'influencedContractingAuthority',
        'witheldSupportingDocuments', 'seriousMisrepresentation', 'significantOrPersistentDeficiencies',
        'distortedCompetition', 'conflictOfInterest', 'distortedCompetition', 'graveProfessionalMisconduct',
        'bankrupt', 'environmentalSocialLabourLaw', 'taxEvasion'
    ]
    for field in dependent_fields:
        for other in dependent_fields:
            submission[other] = False
        submission[field] = True

        validator = DOSValidator(content, submission)
        assert validator.errors() == {"mitigatingFactors": "answer_required"}
Exemplo n.º 10
0
def test_error_if_mitigating_factors_not_provided_when_required(
        content, submission):
    del submission['mitigatingFactors']
    dependent_fields = [
        'misleadingInformation', 'confidentialInformation',
        'influencedContractingAuthority', 'witheldSupportingDocuments',
        'seriousMisrepresentation', 'significantOrPersistentDeficiencies',
        'distortedCompetition', 'conflictOfInterest', 'distortedCompetition',
        'graveProfessionalMisconduct', 'bankrupt',
        'environmentalSocialLabourLaw', 'taxEvasion'
    ]
    for field in dependent_fields:
        for other in dependent_fields:
            submission[other] = False
        submission[field] = True

        validator = DOSValidator(content, submission)
        assert validator.errors() == {"mitigatingFactors": "answer_required"}
Exemplo n.º 11
0
def test_character_limit_errors(content, submission):
    text_fields = [
        "appropriateTradeRegistersNumber",
        "companyRegistrationNumber",
        "contactNameContractNotice",
        "currentRegisteredCountry",
        "firstRegistered",
        "licenceOrMemberRequiredDetails",
        "mitigatingFactors",
        "mitigatingFactors2",
        "nameOfOrganisation",
        "primaryContact",
        "registeredAddress",
        "registeredVATNumber",
        "tradingNames",
        "tradingStatusOther",
    ]

    for field in text_fields:
        submission[field] = "a" * 5001
        validator = DOSValidator(content, submission)
        assert validator.errors() == {field: "under_character_limit"}

        submission[field] = "a" * 5000
        validator = DOSValidator(content, submission)
        assert validator.errors() == {}
Exemplo n.º 12
0
def test_trade_register_number_error_depends_on_trade_registers(
        content, submission):
    del submission['appropriateTradeRegistersNumber']

    submission['establishedInTheUK'] = True
    del submission['appropriateTradeRegisters']
    validator = DOSValidator(content, submission)
    assert validator.errors() == {}

    submission['establishedInTheUK'] = False
    submission['appropriateTradeRegisters'] = False
    validator = DOSValidator(content, submission)
    assert validator.errors() == {}

    submission['establishedInTheUK'] = False
    submission['appropriateTradeRegisters'] = True
    validator = DOSValidator(content, submission)
    assert validator.errors() == {
        "appropriateTradeRegistersNumber": "answer_required"
    }
Exemplo n.º 13
0
def test_licence_or_member_details_error_depends_on_licence_or_member(
        content, submission):
    del submission['licenceOrMemberRequiredDetails']

    submission['establishedInTheUK'] = True
    del submission['licenceOrMemberRequired']
    validator = DOSValidator(content, submission)
    assert validator.errors() == {}

    submission['establishedInTheUK'] = False
    submission['licenceOrMemberRequired'] = 'none of the above'
    validator = DOSValidator(content, submission)
    assert validator.errors() == {}

    submission['establishedInTheUK'] = False
    submission['licenceOrMemberRequired'] = 'licensed'
    validator = DOSValidator(content, submission)
    assert validator.errors() == {
        "licenceOrMemberRequiredDetails": "answer_required"
    }
Exemplo n.º 14
0
def test_licence_or_member_error_depends_on_established_in_uk(
        content, submission):
    del submission['licenceOrMemberRequired']

    submission['establishedInTheUK'] = True
    validator = DOSValidator(content, submission)
    assert validator.errors() == {}

    submission['establishedInTheUK'] = False
    validator = DOSValidator(content, submission)
    assert validator.errors() == {"licenceOrMemberRequired": "answer_required"}
Exemplo n.º 15
0
def test_trading_status_details_error_depends_on_trading_status(
        content, submission):
    del submission['tradingStatusOther']

    submission['tradingStatus'] = "something"
    validator = DOSValidator(content, submission)
    assert validator.errors() == {}

    submission['tradingStatus'] = "other (please specify)"
    validator = DOSValidator(content, submission)
    assert validator.errors() == {"tradingStatusOther": "answer_required"}
def test_licence_or_member_details_error_depends_on_licence_or_member(content, submission):
    del submission['licenceOrMemberRequiredDetails']

    submission['establishedInTheUK'] = True
    del submission['licenceOrMemberRequired']
    validator = DOSValidator(content, submission)
    assert validator.errors() == {}

    submission['establishedInTheUK'] = False
    submission['licenceOrMemberRequired'] = 'none of the above'
    validator = DOSValidator(content, submission)
    assert validator.errors() == {}

    submission['establishedInTheUK'] = False
    submission['licenceOrMemberRequired'] = 'licensed'
    validator = DOSValidator(content, submission)
    assert validator.errors() == {"licenceOrMemberRequiredDetails": "answer_required"}
Exemplo n.º 17
0
def test_no_error_if_optional_field_is_missing(content, submission):
    del submission['mitigatingFactors2']

    validator = DOSValidator(content, submission)

    assert validator.errors() == {}
def test_no_error_if_optional_field_is_missing(content, submission):
    del submission['mitigatingFactors2']

    validator = DOSValidator(content, submission)

    assert validator.errors() == {}
def test_error_if_required_field_is_missing(content, submission):
    del submission['termsAndConditions']

    validator = DOSValidator(content, submission)

    assert validator.errors() == {"termsAndConditions": "answer_required"}
Exemplo n.º 20
0
def test_error_if_required_text_field_is_empty(content, submission):
    submission['primaryContact'] = ''

    validator = DOSValidator(content, submission)

    assert validator.errors() == {"primaryContact": "answer_required"}
Exemplo n.º 21
0
def test_error_if_required_field_is_missing(content, submission):
    del submission['termsAndConditions']

    validator = DOSValidator(content, submission)

    assert validator.errors() == {"termsAndConditions": "answer_required"}
def test_error_if_required_text_field_is_empty(content, submission):
    submission['primaryContact'] = ''

    validator = DOSValidator(content, submission)

    assert validator.errors() == {"primaryContact": "answer_required"}