def test_check_declaration_answers_passes_good_yes_or_na():
    # Question employersInsurance should pass if 'Yes' or 'Not applicable'
    declaration = VALID_COMPLETE_G8_DECLARATION.copy()
    declaration['employersInsurance'] = "Not applicable"
    assert check_declaration_answers(declaration) == 'Pass'
def test_check_declaration_answers_returns_discretionary_for_false_is_true():
    # Question taxEvasion is incorrectly True so should be Discretionary
    declaration = VALID_COMPLETE_G8_DECLARATION.copy()
    declaration['taxEvasion'] = True
    assert check_declaration_answers(declaration) == 'Discretionary'
def test_check_declaration_answers_fails_bad_declaration_false_is_true():
    # Question conspiracyCorruptionBribery is incorrectly True so should Fail
    declaration = VALID_COMPLETE_G8_DECLARATION.copy()
    declaration['conspiracyCorruptionBribery'] = True
    assert check_declaration_answers(declaration) == 'Fail'
def test_check_declaration_answers_fails_bad_declaration_true_is_false():
    # Question canProvideCloudServices is incorrectly False so should Fail
    declaration = VALID_COMPLETE_G8_DECLARATION.copy()
    declaration['canProvideCloudServices'] = False
    assert check_declaration_answers(declaration) == 'Fail'
def test_check_declaration_answers_passes_good_declaration():
    assert check_declaration_answers(VALID_COMPLETE_G8_DECLARATION) == 'Pass'
def test_check_declaration_fails_incomplete_declaration():
    declaration = {"status": "started"}
    assert check_declaration_answers(declaration) == 'Fail'