File: 005_containers.py

package info (click to toggle)
python-django-crispy-forms-foundation 0.9.0%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 844 kB
  • sloc: javascript: 6,437; python: 1,221; makefile: 187; sh: 17
file content (56 lines) | stat: -rw-r--r-- 1,785 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import os

from django.test.html import parse_html

from crispy_forms_foundation.layout import (Layout, TabHolder, TabItem,
                                            AccordionHolder, AccordionItem)

from tests.forms import AdvancedForm
# from tests.utils import write_output


def test_tab(output_test_path, render_output, rendered_template, helper,
             client):
    form = AdvancedForm()
    pack = helper.template_pack

    helper.layout = Layout(
        TabHolder(
            TabItem("My tab 1", "simple"),
            TabItem("My tab 2", "opt_in"),
            TabItem("My tab 3", "longtext"),
            css_id="meep-meep"
        )
    )

    rendered = rendered_template(form, helper=helper)

    attempted = render_output(os.path.join(output_test_path, pack,
                                           "test_tab.html"))
    # write_output(output_test_path, pack, "test_tab.html", rendered)

    assert parse_html(attempted) == parse_html(rendered)


def test_accordion(output_test_path, render_output, rendered_template, helper,
                   client):
    form = AdvancedForm()
    pack = helper.template_pack

    # Define "css_id" to avoid test fails with automatic generated random ID
    helper.layout = Layout(
        AccordionHolder(
            AccordionItem("Group 1", "simple"),
            AccordionItem("Group 2", "opt_in"),
            AccordionItem("Group 3", "longtext"),
            css_id="meep-meep"
        )
    )

    rendered = rendered_template(form, helper=helper)

    attempted = render_output(os.path.join(output_test_path, pack,
                                           "test_accordion.html"))
    # write_output(output_test_path, pack, "test_accordion.html", rendered)

    assert parse_html(attempted) == parse_html(rendered)