def test_VATINField_admin(self): """Admin form is generated.""" ma = ModelAdmin(VIESModel, self.site) try: ma.get_form(request) except Exception as e: self.fail(e.message)
def test_vatin_field_admin(self): """Admin form is generated.""" ma = ModelAdmin(VIESModel, self.site) try: ma.get_form(request) except Exception as e: self.fail(e.message)
def change_decision_via_admin(self, decision, new_organization=None): """ Used for testing custom behaviour for Decision change in django admin - see publicweb/admin.py, DecisionAdmin.save_model() Requirement: logged in user is_staff and is_superuser. """ ma = ModelAdmin(Decision, AdminSite()) data = ma.get_form(None)(instance=decision).initial for key, value in data.items(): if value == None: data[key] = u'' man_data = { 'feedback_set-TOTAL_FORMS': u'1', 'feedback_set-INITIAL_FORMS': u'0', 'feedback_set-MAX_NUM_FORMS': u'' } data.update(man_data) if new_organization: data['organization'] = new_organization.id url = reverse('admin:publicweb_decision_change', args=[decision.id]) response = self.client.post(url, data, follow=True) self.assertEquals(response.template_name, 'admin/decision_change_list.html', "Failed to edit Decision via admin screen") decision = Decision.objects.get(id=decision.id) if new_organization: self.assertEquals(decision.organization.id, new_organization.id)
def test_default_foreign_key_widget(self): # First, without any radio_fields specified, the widgets for ForeignKey # and fields with choices specified ought to be a basic Select widget. # ForeignKey widgets in the admin are wrapped with RelatedFieldWidgetWrapper so # they need to be handled properly when type checking. For Select fields, all of # the choices lists have a first entry of dashes. cma = ModelAdmin(Concert, self.site) cmafa = cma.get_form(request) self.assertEqual(type(cmafa.base_fields["main_band"].widget.widget), Select) self.assertEqual( list(cmafa.base_fields["main_band"].widget.choices), [("", "---------"), (self.band.id, "The Doors")] ) self.assertEqual(type(cmafa.base_fields["opening_band"].widget.widget), Select) self.assertEqual( list(cmafa.base_fields["opening_band"].widget.choices), [("", "---------"), (self.band.id, "The Doors")] ) self.assertEqual(type(cmafa.base_fields["day"].widget), Select) self.assertEqual(list(cmafa.base_fields["day"].widget.choices), [("", "---------"), (1, "Fri"), (2, "Sat")]) self.assertEqual(type(cmafa.base_fields["transport"].widget), Select) self.assertEqual( list(cmafa.base_fields["transport"].widget.choices), [("", "---------"), (1, "Plane"), (2, "Train"), (3, "Bus")], )
def change_decision_via_admin(self, decision, new_organization=None): """ Used for testing custom behaviour for Decision change in django admin - see publicweb/admin.py, DecisionAdmin.save_model() Requirement: logged in user is_staff and is_superuser. """ ma = ModelAdmin(Decision, AdminSite()) data = ma.get_form(None)(instance=decision).initial for key, value in data.items(): if value == None: data[key] = u'' man_data = { 'feedback_set-TOTAL_FORMS': u'1', 'feedback_set-INITIAL_FORMS': u'0', 'feedback_set-MAX_NUM_FORMS': u'' } data.update(man_data) if new_organization: data['organization'] = new_organization.id url = reverse('admin:publicweb_decision_change', args=[decision.id]) response = self.client.post(url, data, follow=True) self.assertEquals( response.template_name, 'admin/decision_change_list.html', "Failed to edit Decision via admin screen") decision = Decision.objects.get(id=decision.id) if new_organization: self.assertEquals(decision.organization.id, new_organization.id)
def test_default_foreign_key_widget(self): # First, without any radio_fields specified, the widgets for ForeignKey # and fields with choices specified ought to be a basic Select widget. # ForeignKey widgets in the admin are wrapped with RelatedFieldWidgetWrapper so # they need to be handled properly when type checking. For Select fields, all of # the choices lists have a first entry of dashes. cma = ModelAdmin(Concert, self.site) cmafa = cma.get_form(request) self.assertEqual(type(cmafa.base_fields['main_band'].widget.widget), Select) self.assertEqual(list(cmafa.base_fields['main_band'].widget.choices), [('', '---------'), (self.band.id, 'The Doors')]) self.assertEqual(type(cmafa.base_fields['opening_band'].widget.widget), Select) self.assertEqual( list(cmafa.base_fields['opening_band'].widget.choices), [('', '---------'), (self.band.id, 'The Doors')]) self.assertEqual(type(cmafa.base_fields['day'].widget), Select) self.assertEqual(list(cmafa.base_fields['day'].widget.choices), [('', '---------'), (1, 'Fri'), (2, 'Sat')]) self.assertEqual(type(cmafa.base_fields['transport'].widget), Select) self.assertEqual(list(cmafa.base_fields['transport'].widget.choices), [('', '---------'), (1, 'Plane'), (2, 'Train'), (3, 'Bus')])
def test_default_foreign_key_widget(self): # First, without any radio_fields specified, the widgets for ForeignKey # and fields with choices specified ought to be a basic Select widget. # ForeignKey widgets in the admin are wrapped with RelatedFieldWidgetWrapper so # they need to be handled properly when type checking. For Select fields, all of # the choices lists have a first entry of dashes. cma = ModelAdmin(Concert, self.site) cmafa = cma.get_form(request) self.assertEqual(type(cmafa.base_fields['main_band'].widget.widget), Select) self.assertEqual( list(cmafa.base_fields['main_band'].widget.choices), [('', '---------'), (self.band.id, 'The Doors')]) self.assertEqual(type(cmafa.base_fields['opening_band'].widget.widget), Select) self.assertEqual( list(cmafa.base_fields['opening_band'].widget.choices), [('', '---------'), (self.band.id, 'The Doors')] ) self.assertEqual(type(cmafa.base_fields['day'].widget), Select) self.assertEqual( list(cmafa.base_fields['day'].widget.choices), [('', '---------'), (1, 'Fri'), (2, 'Sat')] ) self.assertEqual(type(cmafa.base_fields['transport'].widget), Select) self.assertEqual( list(cmafa.base_fields['transport'].widget.choices), [('', '---------'), (1, 'Plane'), (2, 'Train'), (3, 'Bus')])
def change_organization_via_admin_screens(self, decision, new_organization=None): orig_user = self.user admin_user = User.objects.filter(is_staff=True)[0] self.login(admin_user.username) ma = ModelAdmin(Decision, AdminSite()) data = ma.get_form(None)(instance=decision).initial for key, value in data.items(): if value == None: data[key] = u'' man_data = { 'feedback_set-TOTAL_FORMS': u'1', 'feedback_set-INITIAL_FORMS': u'0', 'feedback_set-MAX_NUM_FORMS': u'' } data.update(man_data) if new_organization: data['organization'] = new_organization.id url = reverse('admin:publicweb_decision_change', args=[decision.id]) response = self.client.post(url, data, follow=True) self.assertEquals(response.status_code, 200) if new_organization: self.assertEquals(Decision.objects.get(id=decision.id).organization.id, new_organization.id) self.login(orig_user) return admin_user
def test_default_foreign_key_widget(self): # First, without any radio_fields specified, the widgets for ForeignKey # and fields with choices specified ought to be a basic Select widget. # ForeignKey widgets in the admin are wrapped with RelatedFieldWidgetWrapper so # they need to be handled properly when type checking. For Select fields, all of # the choices lists have a first entry of dashes. cma = ModelAdmin(Concert, self.site) cmafa = cma.get_form(request) self.assertEqual(type(cmafa.base_fields["main_band"].widget.widget), Select) self.assertEqual( list(cmafa.base_fields["main_band"].widget.choices), [("", "---------"), (self.band.id, "The Doors")], ) self.assertEqual(type(cmafa.base_fields["opening_band"].widget.widget), Select) self.assertEqual( list(cmafa.base_fields["opening_band"].widget.choices), [("", "---------"), (self.band.id, "The Doors")], ) self.assertEqual(type(cmafa.base_fields["day"].widget), Select) self.assertEqual( list(cmafa.base_fields["day"].widget.choices), [("", "---------"), (1, "Fri"), (2, "Sat")], ) self.assertEqual(type(cmafa.base_fields["transport"].widget), Select) self.assertEqual( list(cmafa.base_fields["transport"].widget.choices), [("", "---------"), (1, "Plane"), (2, "Train"), (3, "Bus")], )
def test_fields(self): ma = ModelAdmin(CustomUser, self.site) expected = ['password', 'last_login', 'is_superuser', 'groups', 'user_permissions', 'email', 'is_active', 'is_admin', 'is_staff', 'is_company_admin', 'avatar', 'name', 'activation_key', 'company'] self.assertEqual(expected, ma.get_form(None).base_fields.keys())
def test_default_fields(self): ma = ModelAdmin(Band, self.site) self.assertEqual(list(ma.get_form(request).base_fields), ["name", "bio", "sign_date"]) self.assertEqual(list(ma.get_fields(request)), ["name", "bio", "sign_date"]) self.assertEqual(list(ma.get_fields(request, self.band)), ["name", "bio", "sign_date"])
def test_06_sensor_base_fields(self): ma = ModelAdmin(Sensor, self.site) base_fields = [ 'created_by', 'name', 'sku', 'serial_no', 'temp_units', 'pressure_units', 'alt_units', 'ws_units', 'climate', 'camera', 'link', 'ulink', 'dlink' ] self.assertListEqual(base_fields, list(ma.get_form(self.request).base_fields))
def test_08_event_base_fields(self): ma = ModelAdmin(Event, self.site) base_fields = [ 'sensor', 'timestamp', 'location', 'status', 'camera', 'avg_temp', 'avg_pressure', 'pct_humidity', 'altitude', 'windspeed', 'deleted', 'link', 'ulink', 'dlink' ] self.assertListEqual(base_fields, list(ma.get_form(self.request).base_fields))
def test_default_fields(self): """ Tests widget. """ ma = ModelAdmin(Pizza, AdminSite) self.assertEqual(list(ma.get_form(request).base_fields), ['toppings', 'cheeses']) self.assertEqual(list(ma.get_fields(request)), ['toppings', 'cheeses']) self.assertEqual(ma.get_fields(request), ['toppings', 'cheeses'])
def test_default_fields(self): ma = ModelAdmin(Category, self.site) self.assertEqual(list(ma.get_form(request).base_fields), ['title', 'slug', 'description', 'parent']) self.assertEqual(list(ma.get_fields(request)), ['title', 'slug', 'description', 'parent']) self.assertEqual(list(ma.get_fields(request, self.category)), ['title', 'slug', 'description', 'parent']) self.assertIsNone(ma.get_exclude(request, self.category))
def test_fields(self): ma = ModelAdmin(CustomUser, self.site) expected = [ 'password', 'last_login', 'is_superuser', 'groups', 'user_permissions', 'email', 'is_active', 'is_admin', 'is_staff', 'is_company_admin', 'avatar', 'name', 'activation_key', 'company' ] self.assertEqual(expected, ma.get_form(None).base_fields.keys())
def test_default_fields(self): ma = ModelAdmin(Band, self.site) self.assertEqual(list(ma.get_form(request).base_fields), ['name', 'bio', 'sign_date']) self.assertEqual(list(ma.get_fields(request)), ['name', 'bio', 'sign_date']) self.assertEqual(list(ma.get_fields(request, self.band)), ['name', 'bio', 'sign_date']) self.assertIsNone(ma.get_exclude(request, self.band))
def test_queryset_override(self): # If the queryset of a ModelChoiceField in a custom form is overridden, # RelatedFieldWidgetWrapper doesn't mess that up. band2 = Band.objects.create(name="The Beatles", bio="", sign_date=date(1962, 1, 1)) ma = ModelAdmin(Concert, self.site) form = ma.get_form(request)() self.assertHTMLEqual( str(form["main_band"]), '<div class="related-widget-wrapper" data-model-ref="band">' '<select name="main_band" id="id_main_band" required>' '<option value="" selected>---------</option>' '<option value="%d">The Beatles</option>' '<option value="%d">The Doors</option>' "</select></div>" % (band2.id, self.band.id), ) class AdminConcertForm(forms.ModelForm): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.fields["main_band"].queryset = Band.objects.filter( name="The Doors") class ConcertAdminWithForm(ModelAdmin): form = AdminConcertForm ma = ConcertAdminWithForm(Concert, self.site) form = ma.get_form(request)() self.assertHTMLEqual( str(form["main_band"]), '<div class="related-widget-wrapper" data-model-ref="band">' '<select name="main_band" id="id_main_band" required>' '<option value="" selected>---------</option>' '<option value="%d">The Doors</option>' "</select></div>" % self.band.id, )
def test_default_fields(self): ma = ModelAdmin(Product, self.site) default_list_fields = [ 'title', 'creation_date', 'categories', 'status', 'start_publication', 'end_publication', 'excerpt', 'content', 'image', 'image_caption', 'owner' ] self.assertEqual(list(ma.get_form(request).base_fields), default_list_fields) self.assertEqual(list(ma.get_fields(request)), default_list_fields) self.assertEqual(list(ma.get_fields(request, self.product)), default_list_fields) self.assertIsNone(ma.get_exclude(request, self.product))
def test_queryset_override(self): # If the queryset of a ModelChoiceField in a custom form is overridden, # RelatedFieldWidgetWrapper doesn't mess that up. band2 = Band.objects.create(name='The Beatles', bio='', sign_date=date(1962, 1, 1)) ma = ModelAdmin(Concert, self.site) form = ma.get_form(request)() self.assertHTMLEqual( str(form["main_band"]), '<div class="related-widget-wrapper">' '<select name="main_band" id="id_main_band" required>' '<option value="" selected>---------</option>' '<option value="%d">The Beatles</option>' '<option value="%d">The Doors</option>' '</select></div>' % (band2.id, self.band.id) ) class AdminConcertForm(forms.ModelForm): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.fields["main_band"].queryset = Band.objects.filter(name='The Doors') class ConcertAdminWithForm(ModelAdmin): form = AdminConcertForm ma = ConcertAdminWithForm(Concert, self.site) form = ma.get_form(request)() self.assertHTMLEqual( str(form["main_band"]), '<div class="related-widget-wrapper">' '<select name="main_band" id="id_main_band" required>' '<option value="" selected>---------</option>' '<option value="%d">The Doors</option>' '</select></div>' % self.band.id )
def test_default_fields(self): ma = ModelAdmin(Invoice, self.site) self.assertEqual( list(ma.get_form(request).base_fields), ["date", "customer", "invoiced", "draft", "cash", "paid_date"], ) self.assertEqual( list(ma.get_fields(request)), ["date", "customer", "invoiced", "draft", "cash", "paid_date"], ) self.assertEqual( list(ma.get_fields(request, self.invoice)), ["date", "customer", "invoiced", "draft", "cash", "paid_date"], ) self.assertIsNone(ma.get_exclude(request, self.invoice))
def test_fields(self): model_admin = ModelAdmin(User, self.site) self.assertEqual(list(model_admin.get_form(request).base_fields), [ 'password', 'last_login', 'is_superuser', 'groups', 'user_permissions', 'is_removed', 'email', 'is_staff', 'is_active', 'date_joined', 'name' ]) self.assertEqual(list(model_admin.get_fields(request)), [ 'password', 'last_login', 'is_superuser', 'groups', 'user_permissions', 'is_removed', 'email', 'is_staff', 'is_active', 'date_joined', 'name' ]) self.assertEqual(list(model_admin.get_fields(request, self.user)), [ 'password', 'last_login', 'is_superuser', 'groups', 'user_permissions', 'is_removed', 'email', 'is_staff', 'is_active', 'date_joined', 'name' ]) self.assertIsNone(model_admin.get_exclude(request, self.user))
def test_default_fields(self): ma = ModelAdmin(Band, self.site) self.assertEqual(list(ma.get_form(request).base_fields), ['name', 'bio', 'sign_date']) self.assertEqual(list(ma.get_fields(request)), ['name', 'bio', 'sign_date']) self.assertEqual(list(ma.get_fields(request, self.band)), ['name', 'bio', 'sign_date']) self.assertIsNone(ma.get_exclude(request, self.band))
def test_default_fields(self): ma = ModelAdmin(OSBUAdvisor, self.site) self.assertEqual(list(ma.get_form(self.client).base_fields), ['name', 'email', 'phone'])
def test_default_fields(self): ma = ModelAdmin(OSBUAdvisor, self.site) self.assertEqual( list(ma.get_form(self.client).base_fields), ['name', 'email', 'phone'] )
def test_default_fields(self): ma = ModelAdmin(Band, self.site) self.assertEquals(ma.get_form(request).base_fields.keys(), ['name', 'bio', 'sign_date'])
def test_default_fields(self): ma = ModelAdmin(Band, self.site) self.assertEqual( ma.get_form(request).base_fields.keys(), ['name', 'bio', 'sign_date'])
def test_fiels_Cours(self): ma = ModelAdmin(Cours, self.site) self.assertEqual(list(ma.get_form(request).base_fields), ['date', 'heure', 'adresse', 'texte_etudie']) self.assertEqual(list(ma.get_fields(request)), ['date', 'heure', 'adresse', 'texte_etudie']) self.assertEqual(list(ma.get_fields(request, self.cours)), ['date', 'heure', 'adresse', 'texte_etudie'])
def test_fiels_Actualite(self): ma = ModelAdmin(Actualite, self.site) self.assertEqual(list(ma.get_form(request).base_fields), ['nom', 'texte', 'image', 'date']) self.assertEqual(list(ma.get_fields(request)), ['nom', 'texte', 'image', 'date']) self.assertEqual(list(ma.get_fields(request, self.actualite)), ['nom', 'texte', 'image', 'date'])