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
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']
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
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)
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 )
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)
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())) ]
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)
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()
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 [
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']
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']
def test_all_models(): request = staff_req('get') assert 'Authentication' in Admin.all_models(request=request).bind( request=request).render_to_response().content.decode()