def test__add_field__allowed_file_extensions_not_set(client, faker):
    field = faker.get_test_field(field_type=FieldType.get_multifile())

    field_actual = build_form(field)

    assert all(False for v in field_actual.validators
               if isinstance(v, FileAllowed))
Esempio n. 2
0
def test__upload__upload_MultiFileField(client, faker, n, loggedin_user,
                                        mock_email):
    s, f = faker.get_test_field_of_type(FieldType.get_multifile())

    field_data = {
        f.field_name: [],
    }
    files = []

    for _ in range(n):
        fake_file = faker.fake_file()

        field_data[f.field_name].append(fake_file.file_tuple())

        files.append({
            'field': f,
            'file': fake_file,
        })

    expected = faker.task_details(service=s)
    resp = _create_task_post(client, expected, field_data)

    assert_emails_sent(mock_email, context='created', user=loggedin_user)
    assert__redirect(resp, endpoint='ui.index')
    assert__task(expected, loggedin_user, files=files)
Esempio n. 3
0
def test__update_task__upload_MultiFileField__no_file(client, faker,
                                                      loggedin_user,
                                                      mock_email):
    s, f = faker.get_test_field_of_type(FieldType.get_multifile())

    files = []

    task = faker.get_test_task(service=s, requestor=loggedin_user)

    orig1 = faker.fake_file()
    faker.get_test_task_file(task=task,
                             field=f,
                             fake_file=orig1,
                             filename=orig1.filename)
    files.append({'field': f, 'file': orig1})

    orig2 = faker.fake_file()
    faker.get_test_task_file(task=task,
                             field=f,
                             fake_file=orig1,
                             filename=orig1.filename)
    files.append({'field': f, 'file': orig1})

    resp = _edit_task_post(client, task)

    assert_emails_sent(mock_email, context='updated', user=loggedin_user)
    assert__redirect(resp, endpoint='ui.index')
    assert__task(task, loggedin_user, files=files)
Esempio n. 4
0
def test__upload__upload_MultiFileField__no_file(client, faker, loggedin_user,
                                                 mock_email):
    s, f = faker.get_test_field_of_type(FieldType.get_multifile())

    expected = faker.task_details(service=s)
    resp = _create_task_post(client, expected)

    assert_emails_sent(mock_email, context='created', user=loggedin_user)
    assert__redirect(resp, endpoint='ui.index')
    assert__task(expected, loggedin_user)