Parcourir la source

add tests for include-exclude element

Daniel Sheffield il y a 1 an
Parent
commit
0eafd392a9

+ 2 - 0
app/rest/templates/include-exclude.tpl

@@ -13,6 +13,7 @@
       }],
       hint="Include", multiple=True)
   %>
+
   <%
   if defined("_exclude"):
     include('app/rest/templates/select', id=f"{name}-exclude", name=name,
@@ -22,5 +23,6 @@
       }], hint="Exclude", multiple=True)
   end
   %>
+
 </div>
 </div>

+ 56 - 0
test/rest/templates/test_include-exclude.py

@@ -0,0 +1,56 @@
+import pytest
+from pytest import mark, raises
+from bottle import template
+
+@mark.parametrize('expected, params', [
+    ("""<div class="pure-u-1-3 pure-u-lg-1-4">
+<div class="pure-g">
+  <div class="pure-u-1">
+    <div class="l-box">
+      <h3>Item</h3>
+    </div>
+  </div>
+<div class="pure-u-1">
+
+<select id="item-include" name="item" size=10 multiple style="width: 98%; margin: 1em">
+  <option value="Include" disabled >Include</option>
+
+  <option value="val1-to-backend"  >val1</option>
+  <option value="val2" disabled >val2</option>
+</select>
+</div>
+<div class="pure-u-1">
+
+<select id="item-exclude" name="item" size=10 multiple style="width: 98%; margin: 1em">
+  <option value="Exclude" disabled >Exclude</option>
+
+  <option value="val1-to-backend"  >val1</option>
+  <option value="val2" disabled >val2</option>
+</select>
+</div>
+</div>
+</div>""",{
+    "name": "item",
+    "_include": {
+        "options": [{
+            "value": "val1-to-backend",
+            "display": "val1",
+        },
+        {
+            "value": "val2",
+            "disabled": True,
+        },]
+    },
+    "_exclude": {
+        "options": [{
+            "value": "val1-to-backend",
+            "display": "val1",
+        },
+        {
+            "value": "val2",
+            "disabled": True,
+        },]
+    } }),
+])
+def test_include_exclude_render_exact(expected, params):
+    assert template('app/rest/templates/include-exclude', **params) == expected