Exemplo n.º 1
0
def test_delete():
    request = req('get')
    request.user = Struct(is_staff=True)
    assert Foo.objects.count() == 0
    f = Foo.objects.create(foo=7)

    c = Admin.delete(request=request, app_name='tests', model_name='foo', pk=f.pk)
    p = c.bind(request=req('post', **{'-submit': ''}))
    assert p.parts.delete_tests_foo.is_valid()
    p.render_to_response()
    assert Foo.objects.count() == 0
Exemplo n.º 2
0
def test_bulk_edit_for_non_unique(settings):
    settings.ROOT_URLCONF = __name__
    request = staff_req('get')
    p = Admin.list(
        request=request,
        app_name='tests',
        model_name='adminunique',
        parts__list_tests_adminunique__columns__foo__bulk__include=True,
    )
    p = p.bind(request=request)
    assert [x._name for x in values(p.parts.list_tests_adminunique.columns) if x.bulk.include] == ['foo']
Exemplo n.º 3
0
def test_create():
    request = req('get')
    request.user = Struct(is_staff=True)
    c = Admin.create(request=request, app_name='tests', model_name='foo')
    p = c.bind(request=request)
    assert list(p.parts.create_tests_foo.fields.keys()) == ['foo']

    assert Foo.objects.count() == 0
    p = c.bind(request=req('post', foo=7, **{'-submit': ''}))
    assert p.parts.create_tests_foo.is_valid()
    p.render_to_response()
    assert Foo.objects.count() == 1
    assert Foo.objects.get().foo == 7
Exemplo n.º 4
0
def test_create(mock_messages, settings):
    settings.ROOT_URLCONF = __name__

    request = staff_req('get')
    c = Admin.create(request=request, app_name='tests', model_name='foo')
    p = c.bind(request=request)
    assert list(p.parts.create_tests_foo.fields.keys()) == ['foo']

    assert Foo.objects.count() == 0

    # Check access control for not logged in
    request = req('post', foo=7, **{'-submit': ''})
    assert isinstance(
        Admin.create(request=request, app_name='tests', model_name='foo'),
        HttpResponseRedirect)
    assert Foo.objects.count() == 0

    # Check access control for not staff
    request = user_req('post', foo=7, **{'-submit': ''})
    with pytest.raises(Http404):
        Admin.create(request=request, app_name='tests', model_name='foo')

    # Now for real
    request = staff_req('post', foo=7, **{'-submit': ''})
    c = Admin.create(request=request, app_name='tests', model_name='foo')
    p = c.bind(request=staff_req('post', foo=7, **{'-submit': ''}))
    assert p.parts.create_tests_foo.is_valid()
    p.render_to_response()

    assert Foo.objects.count() == 1
    f = Foo.objects.get()
    assert f.foo == 7

    mock_messages.add_message.assert_called_with(request,
                                                 mock_messages.INFO,
                                                 f'Foo {f} was created',
                                                 fail_silently=True)
Exemplo n.º 5
0
def test_edit(mock_messages, settings):
    settings.ROOT_URLCONF = __name__
    request = staff_req('get')
    assert Foo.objects.count() == 0
    f = Foo.objects.create(foo=7)

    c = Admin.edit(request=request, app_name='tests', model_name='foo', pk=f.pk)
    p = c.bind(request=req('post', foo=11, **{'-submit': ''}))
    assert p.parts.edit_tests_foo.is_valid()
    p.render_to_response()
    assert Foo.objects.get().foo == 11

    mock_messages.add_message.assert_called_with(
        request,
        mock_messages.INFO,
        f'Foo {f} was updated',
        fail_silently=True
    )
Exemplo n.º 6
0
def test_delete(mock_messages):
    request = staff_req('get')
    assert Foo.objects.count() == 0
    f = Foo.objects.create(foo=7)

    c = Admin.delete(request=request,
                     app_name='tests',
                     model_name='foo',
                     pk=f.pk)
    p = c.bind(request=req('post', **{'-submit': ''}))
    assert p.parts.delete_tests_foo.is_valid()
    p.render_to_response()
    assert Foo.objects.count() == 0

    mock_messages.add_message.assert_called_with(request,
                                                 mock_messages.INFO,
                                                 f'Foo {f} was deleted',
                                                 fail_silently=True)
Exemplo n.º 7
0
Arquivo: urls.py Projeto: boxed/mammon
from authentication.views import (
    edit_user_password,
)
from views import (
    echo_headers,
    error_test,
)
from . import settings

urlpatterns = [
    path('', include('money.urls')),
    path('settings/password/$', edit_user_password),

    path(r'registration/', include('mammon.registration.urls')),
    path(r'echo_headers/', echo_headers),
    path(r'bin2/gfskod', echo_headers),

    path(r'system/error_test/$', error_test),

    path('jsi18n/', JavaScriptCatalog.as_view(), name='javascript-catalog'),
    path('admin/', include(Admin().urls())),

    # admin:
    # path(r'admin/', include(admin.site.urls)),
    # re_path(r'^media/(?P<path>.*)$', serve, {'document_root': '/var/www-python/kodare/django/contrib/admin/media'}),
    re_path(r'^site-media2/(?P<path>.*)$', serve, {'document_root': settings.DOCUMENT_ROOT + 'mammon/site-media'}),

    path('', include(Auth.urls()))
]
Exemplo n.º 8
0
    path('form_example_1/', views.form_example_1, name='example_1'),
    path('form_example_2/', views.form_example_2, name='example_2'),
    path('form_example_2b/', Form.create(auto__model=Foo).as_view(), name='example_2b'),
    path('form_example_3/', views.form_example_3, name='example_3'),
    path('form_example_4/', views.form_example_4, name='example_4'),
    path('form_example_5/', views.form_example_5, name='example_5'),
    path('form_kitchen/', views.form_kitchen),

    path('table_readme_example_1/', views.table_readme_example_1, name='readme_example_1'),
    path('table_readme_example_2/', views.table_readme_example_2, name='readme_example_2'),
    path('table_auto_example_1/', views.table_auto_example_1, name='readme_example_1'),
    path('table_auto_example_2/', views.table_auto_example_2, name='readme_example_2'),
    path('table_kitchen_sink/', views.table_kitchen_sink, name='kitchen_sink'),
    path('table_as_view/', Table(
        auto__model=TFoo,
        columns__a__bulk__include=True,
        bulk__actions__delete__include=True,
        extra_evaluated__report_name='example_download',
        columns__a__extra_evaluated__report_name='A'
    ).as_view()),

    path('page_busy/', views.page_busy, name='page_busy'),
    path('all_field_sorts/', views.all_field_sorts, name='all_field_sorts'),
    path('all_column_sorts/', views.all_column_sorts, name='all_column_sorts'),

    path('iommi-admin/', include(Admin.urls())),

    path('menu_test/', views.menu_test, name='menu_test'),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Exemplo n.º 9
0
def test_all_models(settings):
    settings.ROOT_URLCONF = __name__
    request = staff_req('get')
    assert 'Authentication' in Admin.all_models(request=request).bind(
        request=request).render_to_response().content.decode()
Exemplo n.º 10
0
from iommi.admin import (
    Admin,
    Messages,
    collect_config,
)
from iommi.base import values
from tests.helpers import (
    req,
    staff_req,
    user_req,
)
from tests.models import Foo

urlpatterns = [
    path('', include(Admin.urls())),
]


@pytest.mark.django_db
def test_bulk_edit_for_non_unique(settings):
    settings.ROOT_URLCONF = __name__
    request = staff_req('get')
    p = Admin.list(
        request=request,
        app_name='tests',
        model_name='adminunique',
        parts__list_tests_adminunique__columns__foo__bulk__include=True,
    )
    p = p.bind(request=request)
    assert [
Exemplo n.º 11
0
def test_all_models():
    request = req('get')
    request.user = Struct(is_staff=True)
    p = Admin.all_models(request=request)
    p = p.bind(request=request)
    assert list(p.parts.all_models.columns.keys()) == ['app_name', 'model_name']
Exemplo n.º 12
0
def test_bulk_edit_for_non_unique():
    request = req('get')
    request.user = Struct(is_staff=True)
    p = Admin.list(request=request, app_name='tests', model_name='adminunique')
    p = p.bind(request=request)
    assert [x._name for x in values(p.parts.list_tests_adminunique.columns) if x.bulk.include] == ['foo']
Exemplo n.º 13
0
def test_all_models():
    request = staff_req('get')
    assert 'Authentication' in Admin.all_models(request=request).bind(
        request=request).render_to_response().content.decode()