Sfoglia il codice sorgente

add test for form-nav templates

Daniel Sheffield 1 anno fa
parent
commit
5b257e41b6

+ 1 - 0
app/rest/templates/form-clear.tpl

@@ -2,6 +2,7 @@
   <div style="width: 0; height: 1em">
   % for param in params:
   %   include('hidden-input', name=param['name'])
+
   % end
   </div>
 </form>

+ 2 - 0
app/rest/templates/form-nav.tpl

@@ -1,8 +1,10 @@
 <form id="filter" method="{{ method }}" action="{{ action }}">
   % include('button-nav', action=action)
+
   <div style="width: 0; height: 1em">
   % for param in params:
   %   include('hidden-input', **param)
+
   % end
   </div>
 </form>

+ 60 - 0
test/rest/templates/test_form-nav.py

@@ -0,0 +1,60 @@
+from bottle import template
+from pytest import mark
+
+@mark.parametrize('expected, params', [
+    ("""<form id="filter" method="get" action="products">
+<div class="pure-g">
+  <div class="pure-u-1">
+    <div class="pure-button-group" role="group" style="padding: 1em 0 0;">
+    <style>
+.button-resize { font-size: 65%; }
+@media screen and (min-width:35.5em){
+    .button-resize { font-size: 70%; }
+}
+@media screen and (min-width:40em){
+    .button-resize { font-size: 85%; }
+}
+@media screen and (min-width:64em){
+    .button-resize { font-size: 100%; }
+}
+@media screen and (min-width:80em){
+    .button-resize { font-size: 110%; }
+}
+    </style>
+      <button class="button-resize pure-button" type="submit"> Apply </button>
+      <button class="button-resize pure-button" type="submit" formaction="trend" > Trend </button>
+      <button class="button-resize pure-button" type="submit" formaction="products" disabled="true"> Products </button>
+      <button class="button-resize pure-button" type="submit" formaction="categories" > Categories </button>
+      <button class="button-resize pure-button" type="submit" formaction="groups" > Groups </button>
+      <button class="button-resize pure-button" type="submit" formaction="tags" > Tags </button>
+      <button form="clear" class="button-resize pure-button" type="submit"> Clear </button>
+    </div>
+  </div>
+</div>
+  <div style="width: 0; height: 1em">
+<input type="text" name="product" value="!Chicken Stir Fry" hidden="true"/>
+<input type="text" name="category" value="!Beef" hidden="true"/>
+<input type="text" name="group" value="Fish, Meat, Eggs" hidden="true"/>
+<input type="text" name="tag" value="" hidden="true"/>
+<input type="text" name="unit" value="kg" hidden="true"/>
+  </div>
+</form>
+<form id="clear" method="get" action="products">
+  <div style="width: 0; height: 1em">
+<input type="text" name="product" value="" hidden="true"/>
+<input type="text" name="category" value="" hidden="true"/>
+<input type="text" name="group" value="" hidden="true"/>
+<input type="text" name="tag" value="" hidden="true"/>
+<input type="text" name="unit" value="" hidden="true"/>
+  </div>
+</form>""", {
+    "method": "get", "action": "products", "params": [
+        {'name': 'product', 'value': '!Chicken Stir Fry'},
+        {'name': 'category', 'value': '!Beef'},
+        {'name': 'group', 'value': 'Fish, Meat, Eggs'},
+        {'name': 'tag'},
+        {'name': 'unit', 'value': 'kg'},
+    ]})
+])
+def test_form_nav_render_exact(expected, params):
+    assert template('form-nav', **params) == expected

+ 0 - 0
test/rest/templates/test_optgroup.py → test/rest/templates/test_options.py