예제 #1
0
    def field_details(self,
                      field_group=None,
                      field_type=None,
                      order=None,
                      name=None,
                      choices=None,
                      required=None):
        if field_group is None:
            field_group = self.field_group_details()

        if field_type is None:
            field_type = FieldType.get_boolean()

        if order is None:
            order = 1

        if name is None:
            name = self.generator.pystr(min_chars=5, max_chars=10)

        result = Field(
            field_group=field_group,
            order=order,
            field_type=field_type,
            field_name=name,
            choices=choices,
        )

        if required is not None:
            result.required = required

        return result
예제 #2
0
def test__upload__upload_BooleanField(client, faker, required, value, should_be_loaded, saved_value):
    user = login(client, faker)
    study = faker.get_test_study(collaborator=user)

    field = faker.get_test_field(field_group=study.field_group, field_type=FieldType.get_boolean(), required=required)

    resp = _do_upload(client, faker, study.id, field_name=field.field_name, field_value=value)

    if should_be_loaded:
        assert__redirect(resp, endpoint='ui.index')

        _assert_uploaded(study, field, value=saved_value)
    else:
        assert resp.status_code == status.HTTP_200_OK

        assert__error__message(resp.soup, field.field_name)
        _assert_upload_not_saved(study)
예제 #3
0
def test__field__format_value__boolean(client, faker):
    ft = FieldType.get_boolean()
    f = faker.get_test_field(field_type=ft)

    assert f.format_value(True) == 'Yes'