diff options
author | Tim Graham <timograham@gmail.com> | 2016-12-08 11:00:14 -0500 |
---|---|---|
committer | Tim Graham <timograham@gmail.com> | 2016-12-08 11:14:15 -0500 |
commit | e744c7e459bae0fbb656c70f368c7183fd7a6013 (patch) | |
tree | 813e82cf4f455b411dc5049fb31b805962d93b5b /tests/admin_widgets/tests.py | |
parent | 9b79281e315268bdbba2704b253eef23b46da023 (diff) | |
download | django-e744c7e459bae0fbb656c70f368c7183fd7a6013.tar.gz |
Imported specific models in a few tests that didn't.
Diffstat (limited to 'tests/admin_widgets/tests.py')
-rw-r--r-- | tests/admin_widgets/tests.py | 155 |
1 files changed, 79 insertions, 76 deletions
diff --git a/tests/admin_widgets/tests.py b/tests/admin_widgets/tests.py index 78b68e7768..2d8b88f2cf 100644 --- a/tests/admin_widgets/tests.py +++ b/tests/admin_widgets/tests.py @@ -21,7 +21,10 @@ from django.test import SimpleTestCase, TestCase, override_settings from django.urls import reverse from django.utils import six, translation -from . import models +from .models import ( + Advisor, Album, Band, Bee, Car, Company, Event, Honeycomb, Individual, + Inventory, Member, MyFileField, Profile, School, Student, +) from .widgetadmin import site as widget_admin_site @@ -31,8 +34,8 @@ class TestDataMixin(object): def setUpTestData(cls): cls.superuser = User.objects.create_superuser(username='super', password='secret', email=None) cls.u2 = User.objects.create_user(username='testser', password='secret') - models.Car.objects.create(owner=cls.superuser, make='Volkswagen', model='Passat') - models.Car.objects.create(owner=cls.u2, make='BMW', model='M3') + Car.objects.create(owner=cls.superuser, make='Volkswagen', model='Passat') + Car.objects.create(owner=cls.u2, make='BMW', model='M3') class AdminFormfieldForDBFieldTests(SimpleTestCase): @@ -67,57 +70,57 @@ class AdminFormfieldForDBFieldTests(SimpleTestCase): return ff def test_DateField(self): - self.assertFormfield(models.Event, 'start_date', widgets.AdminDateWidget) + self.assertFormfield(Event, 'start_date', widgets.AdminDateWidget) def test_DateTimeField(self): - self.assertFormfield(models.Member, 'birthdate', widgets.AdminSplitDateTime) + self.assertFormfield(Member, 'birthdate', widgets.AdminSplitDateTime) def test_TimeField(self): - self.assertFormfield(models.Event, 'start_time', widgets.AdminTimeWidget) + self.assertFormfield(Event, 'start_time', widgets.AdminTimeWidget) def test_TextField(self): - self.assertFormfield(models.Event, 'description', widgets.AdminTextareaWidget) + self.assertFormfield(Event, 'description', widgets.AdminTextareaWidget) def test_URLField(self): - self.assertFormfield(models.Event, 'link', widgets.AdminURLFieldWidget) + self.assertFormfield(Event, 'link', widgets.AdminURLFieldWidget) def test_IntegerField(self): - self.assertFormfield(models.Event, 'min_age', widgets.AdminIntegerFieldWidget) + self.assertFormfield(Event, 'min_age', widgets.AdminIntegerFieldWidget) def test_CharField(self): - self.assertFormfield(models.Member, 'name', widgets.AdminTextInputWidget) + self.assertFormfield(Member, 'name', widgets.AdminTextInputWidget) def test_EmailField(self): - self.assertFormfield(models.Member, 'email', widgets.AdminEmailInputWidget) + self.assertFormfield(Member, 'email', widgets.AdminEmailInputWidget) def test_FileField(self): - self.assertFormfield(models.Album, 'cover_art', widgets.AdminFileWidget) + self.assertFormfield(Album, 'cover_art', widgets.AdminFileWidget) def test_ForeignKey(self): - self.assertFormfield(models.Event, 'main_band', forms.Select) + self.assertFormfield(Event, 'main_band', forms.Select) def test_raw_id_ForeignKey(self): - self.assertFormfield(models.Event, 'main_band', widgets.ForeignKeyRawIdWidget, + self.assertFormfield(Event, 'main_band', widgets.ForeignKeyRawIdWidget, raw_id_fields=['main_band']) def test_radio_fields_ForeignKey(self): - ff = self.assertFormfield(models.Event, 'main_band', widgets.AdminRadioSelect, + ff = self.assertFormfield(Event, 'main_band', widgets.AdminRadioSelect, radio_fields={'main_band': admin.VERTICAL}) self.assertIsNone(ff.empty_label) def test_many_to_many(self): - self.assertFormfield(models.Band, 'members', forms.SelectMultiple) + self.assertFormfield(Band, 'members', forms.SelectMultiple) def test_raw_id_many_to_many(self): - self.assertFormfield(models.Band, 'members', widgets.ManyToManyRawIdWidget, + self.assertFormfield(Band, 'members', widgets.ManyToManyRawIdWidget, raw_id_fields=['members']) def test_filtered_many_to_many(self): - self.assertFormfield(models.Band, 'members', widgets.FilteredSelectMultiple, + self.assertFormfield(Band, 'members', widgets.FilteredSelectMultiple, filter_vertical=['members']) def test_formfield_overrides(self): - self.assertFormfield(models.Event, 'start_date', forms.TextInput, + self.assertFormfield(Event, 'start_date', forms.TextInput, formfield_overrides={DateField: {'widget': forms.TextInput}}) def test_formfield_overrides_widget_instances(self): @@ -129,9 +132,9 @@ class AdminFormfieldForDBFieldTests(SimpleTestCase): formfield_overrides = { CharField: {'widget': forms.TextInput(attrs={'size': '10'})} } - ma = BandAdmin(models.Band, admin.site) - f1 = ma.formfield_for_dbfield(models.Band._meta.get_field('name'), request=None) - f2 = ma.formfield_for_dbfield(models.Band._meta.get_field('style'), request=None) + ma = BandAdmin(Band, admin.site) + f1 = ma.formfield_for_dbfield(Band._meta.get_field('name'), request=None) + f2 = ma.formfield_for_dbfield(Band._meta.get_field('style'), request=None) self.assertNotEqual(f1.widget, f2.widget) self.assertEqual(f1.widget.attrs['maxlength'], '100') self.assertEqual(f2.widget.attrs['maxlength'], '20') @@ -144,8 +147,8 @@ class AdminFormfieldForDBFieldTests(SimpleTestCase): """ class MemberAdmin(admin.ModelAdmin): formfield_overrides = {DateTimeField: {'widget': widgets.AdminSplitDateTime}} - ma = MemberAdmin(models.Member, admin.site) - f1 = ma.formfield_for_dbfield(models.Member._meta.get_field('birthdate'), request=None) + ma = MemberAdmin(Member, admin.site) + f1 = ma.formfield_for_dbfield(Member._meta.get_field('birthdate'), request=None) self.assertIsInstance(f1.widget, widgets.AdminSplitDateTime) self.assertIsInstance(f1, forms.SplitDateTimeField) @@ -154,30 +157,30 @@ class AdminFormfieldForDBFieldTests(SimpleTestCase): formfield_overrides works for a custom field class. """ class AlbumAdmin(admin.ModelAdmin): - formfield_overrides = {models.MyFileField: {'widget': forms.TextInput()}} - ma = AlbumAdmin(models.Member, admin.site) - f1 = ma.formfield_for_dbfield(models.Album._meta.get_field('backside_art'), request=None) + formfield_overrides = {MyFileField: {'widget': forms.TextInput()}} + ma = AlbumAdmin(Member, admin.site) + f1 = ma.formfield_for_dbfield(Album._meta.get_field('backside_art'), request=None) self.assertIsInstance(f1.widget, forms.TextInput) def test_field_with_choices(self): - self.assertFormfield(models.Member, 'gender', forms.Select) + self.assertFormfield(Member, 'gender', forms.Select) def test_choices_with_radio_fields(self): - self.assertFormfield(models.Member, 'gender', widgets.AdminRadioSelect, + self.assertFormfield(Member, 'gender', widgets.AdminRadioSelect, radio_fields={'gender': admin.VERTICAL}) def test_inheritance(self): - self.assertFormfield(models.Album, 'backside_art', widgets.AdminFileWidget) + self.assertFormfield(Album, 'backside_art', widgets.AdminFileWidget) def test_m2m_widgets(self): """m2m fields help text as it applies to admin app (#9321).""" class AdvisorAdmin(admin.ModelAdmin): filter_vertical = ['companies'] - self.assertFormfield(models.Advisor, 'companies', widgets.FilteredSelectMultiple, + self.assertFormfield(Advisor, 'companies', widgets.FilteredSelectMultiple, filter_vertical=['companies']) - ma = AdvisorAdmin(models.Advisor, admin.site) - f = ma.formfield_for_dbfield(models.Advisor._meta.get_field('companies'), request=None) + ma = AdvisorAdmin(Advisor, admin.site) + f = ma.formfield_for_dbfield(Advisor._meta.get_field('companies'), request=None) self.assertEqual( six.text_type(f.help_text), 'Hold down "Control", or "Command" on a Mac, to select more than one.' @@ -215,7 +218,7 @@ class AdminForeignKeyRawIdWidget(TestDataMixin, TestCase): self.client.force_login(self.superuser) def test_nonexistent_target_id(self): - band = models.Band.objects.create(name='Bogey Blues') + band = Band.objects.create(name='Bogey Blues') pk = band.pk band.delete() post_data = { @@ -388,7 +391,7 @@ class AdminFileWidgetTests(TestDataMixin, TestCase): @classmethod def setUpTestData(cls): super(AdminFileWidgetTests, cls).setUpTestData() - band = models.Band.objects.create(name='Linkin Park') + band = Band.objects.create(name='Linkin Park') cls.album = band.album_set.create( name='Hybrid Theory', cover_art=r'albums\hybrid_theory.jpg' ) @@ -440,11 +443,11 @@ class AdminFileWidgetTests(TestDataMixin, TestCase): class ForeignKeyRawIdWidgetTest(TestCase): def test_render(self): - band = models.Band.objects.create(name='Linkin Park') + band = Band.objects.create(name='Linkin Park') band.album_set.create( name='Hybrid Theory', cover_art=r'albums\hybrid_theory.jpg' ) - rel = models.Album._meta.get_field('band').remote_field + rel = Album._meta.get_field('band').remote_field w = widgets.ForeignKeyRawIdWidget(rel, widget_admin_site) self.assertHTMLEqual( @@ -460,12 +463,12 @@ class ForeignKeyRawIdWidgetTest(TestCase): def test_relations_to_non_primary_key(self): # ForeignKeyRawIdWidget works with fields which aren't related to # the model's primary key. - apple = models.Inventory.objects.create(barcode=86, name='Apple') - models.Inventory.objects.create(barcode=22, name='Pear') - core = models.Inventory.objects.create( + apple = Inventory.objects.create(barcode=86, name='Apple') + Inventory.objects.create(barcode=22, name='Pear') + core = Inventory.objects.create( barcode=87, name='Core', parent=apple ) - rel = models.Inventory._meta.get_field('parent').remote_field + rel = Inventory._meta.get_field('parent').remote_field w = widgets.ForeignKeyRawIdWidget(rel, widget_admin_site) self.assertHTMLEqual( w.render('test', core.parent_id, attrs={}), @@ -480,9 +483,9 @@ class ForeignKeyRawIdWidgetTest(TestCase): def test_fk_related_model_not_in_admin(self): # FK to a model not registered with admin site. Raw ID widget should # have no magnifying glass link. See #16542 - big_honeycomb = models.Honeycomb.objects.create(location='Old tree') + big_honeycomb = Honeycomb.objects.create(location='Old tree') big_honeycomb.bee_set.create() - rel = models.Bee._meta.get_field('honeycomb').remote_field + rel = Bee._meta.get_field('honeycomb').remote_field w = widgets.ForeignKeyRawIdWidget(rel, widget_admin_site) self.assertHTMLEqual( @@ -495,9 +498,9 @@ class ForeignKeyRawIdWidgetTest(TestCase): def test_fk_to_self_model_not_in_admin(self): # FK to self, not registered with admin site. Raw ID widget should have # no magnifying glass link. See #16542 - subject1 = models.Individual.objects.create(name='Subject #1') - models.Individual.objects.create(name='Child', parent=subject1) - rel = models.Individual._meta.get_field('parent').remote_field + subject1 = Individual.objects.create(name='Subject #1') + Individual.objects.create(name='Child', parent=subject1) + rel = Individual._meta.get_field('parent').remote_field w = widgets.ForeignKeyRawIdWidget(rel, widget_admin_site) self.assertHTMLEqual( @@ -509,13 +512,13 @@ class ForeignKeyRawIdWidgetTest(TestCase): def test_proper_manager_for_label_lookup(self): # see #9258 - rel = models.Inventory._meta.get_field('parent').remote_field + rel = Inventory._meta.get_field('parent').remote_field w = widgets.ForeignKeyRawIdWidget(rel, widget_admin_site) - hidden = models.Inventory.objects.create( + hidden = Inventory.objects.create( barcode=93, name='Hidden', hidden=True ) - child_of_hidden = models.Inventory.objects.create( + child_of_hidden = Inventory.objects.create( barcode=94, name='Child of hidden', parent=hidden ) self.assertHTMLEqual( @@ -532,12 +535,12 @@ class ForeignKeyRawIdWidgetTest(TestCase): class ManyToManyRawIdWidgetTest(TestCase): def test_render(self): - band = models.Band.objects.create(name='Linkin Park') + band = Band.objects.create(name='Linkin Park') - m1 = models.Member.objects.create(name='Chester') - m2 = models.Member.objects.create(name='Mike') + m1 = Member.objects.create(name='Chester') + m2 = Member.objects.create(name='Mike') band.members.add(m1, m2) - rel = models.Band._meta.get_field('members').remote_field + rel = Band._meta.get_field('members').remote_field w = widgets.ManyToManyRawIdWidget(rel, widget_admin_site) self.assertHTMLEqual( @@ -557,12 +560,12 @@ class ManyToManyRawIdWidgetTest(TestCase): def test_m2m_related_model_not_in_admin(self): # M2M relationship with model not registered with admin site. Raw ID # widget should have no magnifying glass link. See #16542 - consultor1 = models.Advisor.objects.create(name='Rockstar Techie') + consultor1 = Advisor.objects.create(name='Rockstar Techie') - c1 = models.Company.objects.create(name='Doodle') - c2 = models.Company.objects.create(name='Pear') + c1 = Company.objects.create(name='Doodle') + c2 = Company.objects.create(name='Pear') consultor1.companies.add(c1, c2) - rel = models.Advisor._meta.get_field('companies').remote_field + rel = Advisor._meta.get_field('companies').remote_field w = widgets.ManyToManyRawIdWidget(rel, widget_admin_site) self.assertHTMLEqual( @@ -578,14 +581,14 @@ class ManyToManyRawIdWidgetTest(TestCase): class RelatedFieldWidgetWrapperTests(SimpleTestCase): def test_no_can_add_related(self): - rel = models.Individual._meta.get_field('parent').remote_field + rel = Individual._meta.get_field('parent').remote_field w = widgets.AdminRadioSelect() # Used to fail with a name error. w = widgets.RelatedFieldWidgetWrapper(w, rel, widget_admin_site) self.assertFalse(w.can_add_related) def test_select_multiple_widget_cant_change_delete_related(self): - rel = models.Individual._meta.get_field('parent').remote_field + rel = Individual._meta.get_field('parent').remote_field widget = forms.SelectMultiple() wrapper = widgets.RelatedFieldWidgetWrapper( widget, rel, widget_admin_site, @@ -598,7 +601,7 @@ class RelatedFieldWidgetWrapperTests(SimpleTestCase): self.assertFalse(wrapper.can_delete_related) def test_on_delete_cascade_rel_cant_delete_related(self): - rel = models.Individual._meta.get_field('soulmate').remote_field + rel = Individual._meta.get_field('soulmate').remote_field widget = forms.Select() wrapper = widgets.RelatedFieldWidgetWrapper( widget, rel, widget_admin_site, @@ -740,7 +743,7 @@ class DateTimePickerSeleniumTests(AdminWidgetSeleniumTestCase): self.admin_login(username='super', password='secret', login_url='/') # Enter test data - member = models.Member.objects.create(name='Bob', birthdate=datetime(1984, 5, 15), gender='M') + member = Member.objects.create(name='Bob', birthdate=datetime(1984, 5, 15), gender='M') # Get month name translations for every locale month_string = 'May' @@ -819,7 +822,7 @@ class DateTimePickerShortcutsSeleniumTests(AdminWidgetSeleniumTestCase): # Make sure that "now" in javascript is within 10 seconds # from "now" on the server side. - member = models.Member.objects.get(name='test') + member = Member.objects.get(name='test') self.assertGreater(member.birthdate, now - error_margin) self.assertLess(member.birthdate, now + error_margin) @@ -835,15 +838,15 @@ class HorizontalVerticalFilterSeleniumTests(AdminWidgetSeleniumTestCase): def setUp(self): super(HorizontalVerticalFilterSeleniumTests, self).setUp() - self.lisa = models.Student.objects.create(name='Lisa') - self.john = models.Student.objects.create(name='John') - self.bob = models.Student.objects.create(name='Bob') - self.peter = models.Student.objects.create(name='Peter') - self.jenny = models.Student.objects.create(name='Jenny') - self.jason = models.Student.objects.create(name='Jason') - self.cliff = models.Student.objects.create(name='Cliff') - self.arthur = models.Student.objects.create(name='Arthur') - self.school = models.School.objects.create(name='School of Awesome') + self.lisa = Student.objects.create(name='Lisa') + self.john = Student.objects.create(name='John') + self.bob = Student.objects.create(name='Bob') + self.peter = Student.objects.create(name='Peter') + self.jenny = Student.objects.create(name='Jenny') + self.jason = Student.objects.create(name='Jason') + self.cliff = Student.objects.create(name='Cliff') + self.arthur = Student.objects.create(name='Arthur') + self.school = School.objects.create(name='School of Awesome') def assertActiveButtons(self, mode, field_name, choose, remove, choose_all=None, remove_all=None): choose_link = '#id_%s_add_link' % field_name @@ -1009,7 +1012,7 @@ class HorizontalVerticalFilterSeleniumTests(AdminWidgetSeleniumTestCase): # Save and check that everything is properly stored in the database --- self.selenium.find_element_by_xpath('//input[@value="Save"]').click() self.wait_page_loaded() - self.school = models.School.objects.get(id=self.school.id) # Reload from database + self.school = School.objects.get(id=self.school.id) # Reload from database self.assertEqual(list(self.school.students.all()), [self.arthur, self.cliff, self.jason, self.john]) self.assertEqual(list(self.school.alumni.all()), [self.arthur, self.cliff, self.jason, self.john]) @@ -1094,7 +1097,7 @@ class HorizontalVerticalFilterSeleniumTests(AdminWidgetSeleniumTestCase): # Save and check that everything is properly stored in the database --- self.selenium.find_element_by_xpath('//input[@value="Save"]').click() self.wait_page_loaded() - self.school = models.School.objects.get(id=self.school.id) # Reload from database + self.school = School.objects.get(id=self.school.id) # Reload from database self.assertEqual(list(self.school.students.all()), [self.jason, self.peter]) self.assertEqual(list(self.school.alumni.all()), [self.jason, self.peter]) @@ -1152,8 +1155,8 @@ class AdminRawIdWidgetSeleniumTests(AdminWidgetSeleniumTestCase): def setUp(self): super(AdminRawIdWidgetSeleniumTests, self).setUp() - models.Band.objects.create(id=42, name='Bogey Blues') - models.Band.objects.create(id=98, name='Green Potatoes') + Band.objects.create(id=42, name='Bogey Blues') + Band.objects.create(id=98, name='Green Potatoes') def test_ForeignKey(self): self.admin_login(username='super', password='secret', login_url='/') @@ -1268,6 +1271,6 @@ class RelatedFieldWidgetSeleniumTests(AdminWidgetSeleniumTestCase): # Go ahead and submit the form to make sure it works self.selenium.find_element_by_css_selector(save_button_css_selector).click() self.wait_for_text('li.success', 'The profile "changednewuser" was added successfully.') - profiles = models.Profile.objects.all() + profiles = Profile.objects.all() self.assertEqual(len(profiles), 1) self.assertEqual(profiles[0].user.username, username_value) |