Added failing test for HeavySelect2MultipleWidget

Closed #175
This commit is contained in:
Pawel Iwaszko 2015-05-27 16:57:33 +02:00 committed by Johannes Hoppe
parent 7850d52b64
commit 77cecbd1cf
3 changed files with 24 additions and 2 deletions

View file

@ -48,3 +48,18 @@ class TestHeavySelect2Widget(object):
with pytest.raises(NoSuchElementException):
error = driver.find_element_by_xpath('//body[@JSError]')
pytest.fail(error.get_attribute('JSError'))
class TestHeavySelect2MultipleWidget(object):
url = reverse('heavy_select2_multiple_widget')
def test_heavy_select_multiple(self, db, client, live_server, driver):
driver.get(live_server + self.url)
dropdown = driver.find_element_by_css_selector('.select2-results')
assert dropdown.is_displayed() is False
elem = driver.find_element_by_css_selector('.select2-choices')
elem.click()
assert dropdown.is_displayed() is True
with pytest.raises(NoSuchElementException):
error = driver.find_element_by_xpath('//body[@JSError]')
pytest.fail(error.get_attribute('JSError'))

View file

@ -4,7 +4,7 @@ from __future__ import absolute_import, unicode_literals
from django import forms
from django_select2.fields import Select2MultipleWidget
from django_select2.widgets import Select2Widget, HeavySelect2Widget
from django_select2.widgets import Select2Widget, HeavySelect2Widget, HeavySelect2MultipleWidget
from tests.testapp import models
from . import fields
@ -61,5 +61,10 @@ class Select2WidgetForm(forms.Form):
(4, 'Four') ]
number = forms.ChoiceField(widget=Select2Widget(), choices=NUMBER_CHOICES)
class HeavySelect2WidgetForm(forms.Form):
heavy_number = forms.ChoiceField(widget=HeavySelect2Widget(data_view='heavy_data'))
class HeavySelect2MultipleWidgetForm(forms.Form):
heavy_number = forms.MultipleChoiceField(widget=HeavySelect2MultipleWidget(data_view='heavy_data'))

View file

@ -3,7 +3,7 @@ from __future__ import absolute_import, unicode_literals
from django.conf.urls import include, patterns, url
from .forms import ArtistForm, Select2WidgetForm, HeavySelect2WidgetForm
from .forms import ArtistForm, Select2WidgetForm, HeavySelect2WidgetForm, HeavySelect2MultipleWidgetForm
from .views import TemplateFormView, heavy_data
urlpatterns = patterns(
@ -12,6 +12,8 @@ urlpatterns = patterns(
TemplateFormView.as_view(form_class=Select2WidgetForm), name='select2_widget'),
url(r'^heavy_select2_widget/$',
TemplateFormView.as_view(form_class=HeavySelect2WidgetForm), name='heavy_select2_widget'),
url(r'^heavy_select2_multiple_widget/$',
TemplateFormView.as_view(form_class=HeavySelect2MultipleWidgetForm), name='heavy_select2_multiple_widget'),
url(r'^single_value_model_field/$',
TemplateFormView.as_view(form_class=ArtistForm), name='single_value_model_field'),
url(r'^heavy_data/$',