Example #1
0
    def test_submit_cancel_form_actions(self):
        """Test custom SubmitCancelFormActions bootstrap layout object"""
        template = loader.get_template_from_string(u"""
            {% load crispy_forms_tags %}
            {% crispy form %}
        """)

        test_form = TestForm()
        test_form.helper = FormHelper()
        test_form.helper.layout = Layout(
            SubmitCancelFormActions()
        )

        c = Context({'form': test_form})

        html = template.render(c)
        self.assertEqual(html.count('class="form-actions'), 1)
        self.assertEqual(html.count('role="button"'), 1)
        self.assertEqual(html.count('href="#"'), 1)
        self.assertEqual(html.count('Cancel'), 1)
        self.assertEqual(html.count('Submit'), 1)

        test_form.helper.layout = Layout(
            SubmitCancelFormActions(cancel_href="/some/url/")
        )
        c = Context({'form': test_form})

        html = template.render(c)
        self.assertEqual(html.count('href="/some/url/'), 1)
Example #2
0
 def test_filter_by_widget_without_form(self):
     form = TestForm()
     form.helper = FormHelper()
     form.helper.layout = self.advanced_layout
     self.assertRaises(
         FormHelpersException,
         lambda: form.helper.filter_by_widget(forms.PasswordInput))
    def test_submit_cancel_form_actions(self):
        """Test custom SubmitCancelFormActions bootstrap layout object"""
        template = loader.get_template_from_string(u"""
            {% load crispy_forms_tags %}
            {% crispy form %}
        """)

        test_form = TestForm()
        test_form.helper = FormHelper()
        test_form.helper.layout = Layout(SubmitCancelFormActions())

        c = Context({'form': test_form})

        html = template.render(c)
        self.assertEqual(html.count('class="form-actions'), 1)
        self.assertEqual(html.count('role="button"'), 1)
        self.assertEqual(html.count('href="#"'), 1)
        self.assertEqual(html.count('Cancel'), 1)
        self.assertEqual(html.count('Submit'), 1)

        test_form.helper.layout = Layout(
            SubmitCancelFormActions(cancel_href="/some/url/"))
        c = Context({'form': test_form})

        html = template.render(c)
        self.assertEqual(html.count('href="/some/url/'), 1)
def test_filter_by_widget(advanced_layout):
    form = TestForm()
    form.helper = FormHelper(form)
    form.helper.layout = advanced_layout
    assert form.helper.filter_by_widget(forms.PasswordInput).slice == [
        [[0, 1, 0, 0], 'password1'],
        [[0, 4, 0], 'password2'],
    ]
Example #5
0
 def test_filter_by_widget(self):
     form = TestForm()
     form.helper = FormHelper(form)
     form.helper.layout = self.advanced_layout
     self.assertEqual(form.helper.filter_by_widget(forms.PasswordInput).slice, [
         [[0, 1, 0, 0], 'password1'],
         [[0, 4, 0], 'password2'],
     ])
def test_exclude_by_widget(advanced_layout):
    form = TestForm()
    form.helper = FormHelper(form)
    form.helper.layout = advanced_layout
    assert form.helper.exclude_by_widget(forms.PasswordInput).slice == [
        [[0, 0, 0, 0], 'email'],
        [[0, 3, 0], 'first_name'],
        [[1], 'last_name'],
    ]
Example #7
0
 def test_filter_by_widget(self):
     form = TestForm()
     form.helper = FormHelper(form)
     form.helper.layout = self.advanced_layout
     self.assertEqual(
         form.helper.filter_by_widget(forms.PasswordInput).slice, [
             [[0, 1, 0, 0], 'password1'],
             [[0, 4, 0], 'password2'],
         ])
Example #8
0
 def test_exclude_by_widget(self):
     form = TestForm()
     form.helper = FormHelper(form)
     form.helper.layout = self.advanced_layout
     self.assertEqual(form.helper.exclude_by_widget(forms.PasswordInput).slice, [
         [[0, 0, 0, 0], 'email'],
         [[0, 3, 0], 'first_name'],
         [[1], 'last_name'],
     ])
Example #9
0
 def test_exclude_by_widget(self):
     form = TestForm()
     form.helper = FormHelper(form)
     form.helper.layout = self.advanced_layout
     self.assertEqual(
         form.helper.exclude_by_widget(forms.PasswordInput).slice, [
             [[0, 0, 0, 0], 'email'],
             [[0, 3, 0], 'first_name'],
             [[1], 'last_name'],
         ])
def test_exclude_by_widget_and_wrap(advanced_layout):
    form = TestForm()
    form.helper = FormHelper(form)
    form.helper.layout = advanced_layout
    form.helper.exclude_by_widget(forms.PasswordInput).wrap(Field, css_class='hero')
    # Check wrapped fields
    assert isinstance(form.helper.layout[0][0][0][0], Field)
    assert isinstance(form.helper.layout[0][3][0], Field)
    assert isinstance(form.helper.layout[1], Field)
    # Check others stay the same
    assert isinstance(form.helper.layout[0][3][1], HTML)
    assert isinstance(form.helper.layout[0][1][0][0], string_types)
    assert isinstance(form.helper.layout[0][4][0], string_types)
Example #11
0
    def test_submit_cancel_form_helper(self):
        """Test custom crispy forms layout helper"""
        template = loader.get_template_from_string("""
            {% load crispy_forms_tags %}
            {% crispy form %}
        """)

        test_form = TestForm()
        test_form.helper = SubmitCancelFormHelper(test_form)

        c = Context({'form': test_form})

        html = template.render(c)
        self.assertEqual(html.count('class="form-actions'), 1)
        self.assertEqual(html.count('role="button"'), 1)
        self.assertEqual(html.count('href="#"'), 1)
        self.assertEqual(html.count('Cancel'), 1)
        self.assertEqual(html.count('Submit'), 1)

        test_form = TestForm()
        test_form.helper = SubmitCancelFormHelper(test_form,
                                                  cancel_href="/some/url/")

        c = Context({'form': test_form})

        html = template.render(c)
        self.assertEqual(html.count('href="/some/url/'), 1)
def test_filter_by_widget_without_form(advanced_layout):
    form = TestForm()
    form.helper = FormHelper()
    form.helper.layout = advanced_layout
    with pytest.raises(FormHelpersException):
        form.helper.filter_by_widget(forms.PasswordInput)
def test_all_without_layout():
    form = TestForm()
    form.helper = FormHelper()
    with pytest.raises(FormHelpersException):
        form.helper.all().wrap(Div)
Example #14
0
 def test_all_without_layout(self):
     form = TestForm()
     form.helper = FormHelper()
     self.assertRaises(FormHelpersException,
                       lambda: form.helper.all().wrap(Div))
Example #15
0
 def test_filter_by_widget_without_form(self):
     form = TestForm()
     form.helper = FormHelper()
     form.helper.layout = self.advanced_layout
     self.assertRaises(FormHelpersException, lambda: form.helper.filter_by_widget(forms.PasswordInput))
Example #16
0
 def test_all_without_layout(self):
     form = TestForm()
     form.helper = FormHelper()
     self.assertRaises(FormHelpersException, lambda: form.helper.all().wrap(Div))