add a failing test for Select2Widget (hashedSelector not defined)

This commit is contained in:
Ben Cail 2015-04-06 14:29:13 -04:00
parent 42b73198b7
commit 28e8b54425
3 changed files with 28 additions and 1 deletions

View file

@ -1,6 +1,10 @@
# -*- coding:utf-8 -*-
from __future__ import print_function, unicode_literals
import pytest
from django.core.urlresolvers import reverse
from selenium.common.exceptions import NoSuchElementException
class TestWidgets(object):
url = ""
@ -14,3 +18,15 @@ class TestWidgets(object):
from django_select2.widgets import HeavySelect2Widget
new_widget = HeavySelect2Widget(data_url="/")
assert new_widget.is_hidden is False
class TestSelect2Widget(object):
url = reverse('select2_widget')
def test_selecting(self, db, client, live_server, driver):
driver.get(live_server + self.url)
with pytest.raises(NoSuchElementException):
error = driver.find_element_by_xpath('//body[@JSError]')
pytest.fail(error.get_attribute('JSError'))
elem = driver.find_element_by_id('s2id_id_number')
elem.click()

View file

@ -4,6 +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
from tests.testapp import models
from . import fields
@ -51,3 +52,11 @@ class AlbumModelForm(forms.ModelForm):
class AlbumForm(forms.Form):
title = forms.CharField(max_length=255)
artist = fields.ArtistField()
class Select2WidgetForm(forms.Form):
NUMBER_CHOICES = [ (1, 'One'),
(2, 'Two'),
(3, 'Three'),
(4, 'Four') ]
number = forms.ChoiceField(widget=Select2Widget(), choices=NUMBER_CHOICES)

View file

@ -3,11 +3,13 @@ from __future__ import absolute_import, unicode_literals
from django.conf.urls import include, patterns, url
from .forms import ArtistForm
from .forms import ArtistForm, Select2WidgetForm
from .views import TemplateFormView
urlpatterns = patterns(
'',
url(r'select2_widget',
TemplateFormView.as_view(form_class=Select2WidgetForm), name='select2_widget'),
url(r'single_value_model_field',
TemplateFormView.as_view(form_class=ArtistForm), name='single_value_model_field'),