From fc9b0076ea1f575c407b8cc1002a0fafe9a47c38 Mon Sep 17 00:00:00 2001
From: Nicolas Joyard <joyard.nicolas@gmail.com>
Date: Thu, 16 Jun 2016 09:16:03 +0200
Subject: [PATCH] Update tests and fixtures

---
 .../DossiersTest.test_dossier_detail.content  |   2 +-
 .../DossiersTest.test_dossier_list.content    |   2 +-
 ...oupListTest.test_active_committees.content |   2 +-
 ...upListTest.test_active_delegations.content |   2 +-
 .../GroupListTest.test_active_parties.content |   2 +-
 .../GroupListTest.test_all_committees.content |   2 +-
 ...GroupListTest.test_all_delegations.content |   2 +-
 .../GroupListTest.test_all_parties.content    |   2 +-
 .../GroupListTest.test_autocomplete.content   |   1 +
 .../GroupListTest.test_autocomplete.metadata  |   3 +
 ...upListTest.test_autocomplete_query.content |   1 +
 ...pListTest.test_autocomplete_query.metadata |   3 +
 .../GroupListTest.test_chambers.content       |   2 +-
 .../GroupListTest.test_country.content        |   2 +-
 ...tativeListTest.test_filter_chamber.content | 865 ++++++++++++++++++
 ...ativeListTest.test_filter_chamber.metadata |   3 +
 ...tativeListTest.test_filter_country.content | 481 ++++++++++
 ...ativeListTest.test_filter_country.metadata |   3 +
 ...entativeListTest.test_filter_group.content | 550 +++++++++++
 ...ntativeListTest.test_filter_group.metadata |   3 +
 ...ativeListTest.test_filter_multiple.content | 550 +++++++++++
 ...tiveListTest.test_filter_multiple.metadata |   3 +
 ...ntativeListTest.test_filter_search.content | 447 +++++++++
 ...tativeListTest.test_filter_search.metadata |   3 +
 ...e1_paginateby12_active_displaylist.content |  80 +-
 ...page1_paginateby12_all_displaylist.content |  80 +-
 ...aginateby12_displaylist_searchjoly.content |  80 +-
 ...e1_paginateby24_active_displaygrid.content |  80 +-
 ...page1_paginateby24_all_displaygrid.content |  80 +-
 ...est_page2_paginateby12_displaylist.content |  80 +-
 ...est_page2_paginateby24_displaylist.content |  80 +-
 memopol/tests/test_representatives_list.py    |   4 +-
 32 files changed, 3419 insertions(+), 81 deletions(-)
 create mode 100644 memopol/tests/response_fixtures/GroupListTest.test_autocomplete.content
 create mode 100644 memopol/tests/response_fixtures/GroupListTest.test_autocomplete.metadata
 create mode 100644 memopol/tests/response_fixtures/GroupListTest.test_autocomplete_query.content
 create mode 100644 memopol/tests/response_fixtures/GroupListTest.test_autocomplete_query.metadata
 create mode 100644 memopol/tests/response_fixtures/RepresentativeListTest.test_filter_chamber.content
 create mode 100644 memopol/tests/response_fixtures/RepresentativeListTest.test_filter_chamber.metadata
 create mode 100644 memopol/tests/response_fixtures/RepresentativeListTest.test_filter_country.content
 create mode 100644 memopol/tests/response_fixtures/RepresentativeListTest.test_filter_country.metadata
 create mode 100644 memopol/tests/response_fixtures/RepresentativeListTest.test_filter_group.content
 create mode 100644 memopol/tests/response_fixtures/RepresentativeListTest.test_filter_group.metadata
 create mode 100644 memopol/tests/response_fixtures/RepresentativeListTest.test_filter_multiple.content
 create mode 100644 memopol/tests/response_fixtures/RepresentativeListTest.test_filter_multiple.metadata
 create mode 100644 memopol/tests/response_fixtures/RepresentativeListTest.test_filter_search.content
 create mode 100644 memopol/tests/response_fixtures/RepresentativeListTest.test_filter_search.metadata

diff --git a/memopol/tests/response_fixtures/DossiersTest.test_dossier_detail.content b/memopol/tests/response_fixtures/DossiersTest.test_dossier_detail.content
index 9d4162d5..848d4f9f 100644
--- a/memopol/tests/response_fixtures/DossiersTest.test_dossier_detail.content
+++ b/memopol/tests/response_fixtures/DossiersTest.test_dossier_detail.content
@@ -10,7 +10,7 @@
       - The Political Memory of </title>
     
     
-    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.c7d56d0a17c9.css" type="text/css" />
+    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.9ff29455e5ae.css" type="text/css" />
     <script type="text/javascript" src="/static/collected/libs/jquery/dist/jquery.js"></script>
 <script type="text/javascript" src="/static/collected/libs/bootstrap/dist/js/bootstrap.js"></script>
     
diff --git a/memopol/tests/response_fixtures/DossiersTest.test_dossier_list.content b/memopol/tests/response_fixtures/DossiersTest.test_dossier_list.content
index c56ee920..5ed374c4 100644
--- a/memopol/tests/response_fixtures/DossiersTest.test_dossier_list.content
+++ b/memopol/tests/response_fixtures/DossiersTest.test_dossier_list.content
@@ -10,7 +10,7 @@
       - The Political Memory of </title>
     
     
-    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.c7d56d0a17c9.css" type="text/css" />
+    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.9ff29455e5ae.css" type="text/css" />
     <script type="text/javascript" src="/static/collected/libs/jquery/dist/jquery.js"></script>
 <script type="text/javascript" src="/static/collected/libs/bootstrap/dist/js/bootstrap.js"></script>
     
diff --git a/memopol/tests/response_fixtures/GroupListTest.test_active_committees.content b/memopol/tests/response_fixtures/GroupListTest.test_active_committees.content
index 8e578949..e3e987a3 100644
--- a/memopol/tests/response_fixtures/GroupListTest.test_active_committees.content
+++ b/memopol/tests/response_fixtures/GroupListTest.test_active_committees.content
@@ -10,7 +10,7 @@
       - The Political Memory of </title>
     
     
-    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.c7d56d0a17c9.css" type="text/css" />
+    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.9ff29455e5ae.css" type="text/css" />
     <script type="text/javascript" src="/static/collected/libs/jquery/dist/jquery.js"></script>
 <script type="text/javascript" src="/static/collected/libs/bootstrap/dist/js/bootstrap.js"></script>
     
diff --git a/memopol/tests/response_fixtures/GroupListTest.test_active_delegations.content b/memopol/tests/response_fixtures/GroupListTest.test_active_delegations.content
index 41ca09e5..d1a3d060 100644
--- a/memopol/tests/response_fixtures/GroupListTest.test_active_delegations.content
+++ b/memopol/tests/response_fixtures/GroupListTest.test_active_delegations.content
@@ -10,7 +10,7 @@
       - The Political Memory of </title>
     
     
-    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.c7d56d0a17c9.css" type="text/css" />
+    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.9ff29455e5ae.css" type="text/css" />
     <script type="text/javascript" src="/static/collected/libs/jquery/dist/jquery.js"></script>
 <script type="text/javascript" src="/static/collected/libs/bootstrap/dist/js/bootstrap.js"></script>
     
diff --git a/memopol/tests/response_fixtures/GroupListTest.test_active_parties.content b/memopol/tests/response_fixtures/GroupListTest.test_active_parties.content
index 370f2dcd..612952cf 100644
--- a/memopol/tests/response_fixtures/GroupListTest.test_active_parties.content
+++ b/memopol/tests/response_fixtures/GroupListTest.test_active_parties.content
@@ -10,7 +10,7 @@
       - The Political Memory of </title>
     
     
-    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.c7d56d0a17c9.css" type="text/css" />
+    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.9ff29455e5ae.css" type="text/css" />
     <script type="text/javascript" src="/static/collected/libs/jquery/dist/jquery.js"></script>
 <script type="text/javascript" src="/static/collected/libs/bootstrap/dist/js/bootstrap.js"></script>
     
diff --git a/memopol/tests/response_fixtures/GroupListTest.test_all_committees.content b/memopol/tests/response_fixtures/GroupListTest.test_all_committees.content
index 78fa76a6..546bd141 100644
--- a/memopol/tests/response_fixtures/GroupListTest.test_all_committees.content
+++ b/memopol/tests/response_fixtures/GroupListTest.test_all_committees.content
@@ -10,7 +10,7 @@
       - The Political Memory of </title>
     
     
-    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.c7d56d0a17c9.css" type="text/css" />
+    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.9ff29455e5ae.css" type="text/css" />
     <script type="text/javascript" src="/static/collected/libs/jquery/dist/jquery.js"></script>
 <script type="text/javascript" src="/static/collected/libs/bootstrap/dist/js/bootstrap.js"></script>
     
diff --git a/memopol/tests/response_fixtures/GroupListTest.test_all_delegations.content b/memopol/tests/response_fixtures/GroupListTest.test_all_delegations.content
index 09b3506a..e0f17724 100644
--- a/memopol/tests/response_fixtures/GroupListTest.test_all_delegations.content
+++ b/memopol/tests/response_fixtures/GroupListTest.test_all_delegations.content
@@ -10,7 +10,7 @@
       - The Political Memory of </title>
     
     
-    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.c7d56d0a17c9.css" type="text/css" />
+    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.9ff29455e5ae.css" type="text/css" />
     <script type="text/javascript" src="/static/collected/libs/jquery/dist/jquery.js"></script>
 <script type="text/javascript" src="/static/collected/libs/bootstrap/dist/js/bootstrap.js"></script>
     
diff --git a/memopol/tests/response_fixtures/GroupListTest.test_all_parties.content b/memopol/tests/response_fixtures/GroupListTest.test_all_parties.content
index 56aab283..b42bbb39 100644
--- a/memopol/tests/response_fixtures/GroupListTest.test_all_parties.content
+++ b/memopol/tests/response_fixtures/GroupListTest.test_all_parties.content
@@ -10,7 +10,7 @@
       - The Political Memory of </title>
     
     
-    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.c7d56d0a17c9.css" type="text/css" />
+    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.9ff29455e5ae.css" type="text/css" />
     <script type="text/javascript" src="/static/collected/libs/jquery/dist/jquery.js"></script>
 <script type="text/javascript" src="/static/collected/libs/bootstrap/dist/js/bootstrap.js"></script>
     
diff --git a/memopol/tests/response_fixtures/GroupListTest.test_autocomplete.content b/memopol/tests/response_fixtures/GroupListTest.test_autocomplete.content
new file mode 100644
index 00000000..f9d90437
--- /dev/null
+++ b/memopol/tests/response_fixtures/GroupListTest.test_autocomplete.content
@@ -0,0 +1 @@
+{"pagination": {"more": true}, "results": [{"text": "Committee on Agriculture and Rural Development", "id": 47}, {"text": "Committee on Budgetary Control", "id": 89}, {"text": "Committee on Budgets", "id": 34}, {"text": "Committee on Civil Liberties, Justice and Home Affairs", "id": 7}, {"text": "Committee on Constitutional Affairs", "id": 37}, {"text": "Committee on Culture and Education", "id": 20}, {"text": "Committee on Development", "id": 8}, {"text": "Committee on Economic and Monetary Affairs", "id": 30}, {"text": "Committee on Employment and Social Affairs", "id": 3}, {"text": "Committee on Fisheries", "id": 55}]}
\ No newline at end of file
diff --git a/memopol/tests/response_fixtures/GroupListTest.test_autocomplete.metadata b/memopol/tests/response_fixtures/GroupListTest.test_autocomplete.metadata
new file mode 100644
index 00000000..a2e0a692
--- /dev/null
+++ b/memopol/tests/response_fixtures/GroupListTest.test_autocomplete.metadata
@@ -0,0 +1,3 @@
+{
+    "status_code": 200
+}
\ No newline at end of file
diff --git a/memopol/tests/response_fixtures/GroupListTest.test_autocomplete_query.content b/memopol/tests/response_fixtures/GroupListTest.test_autocomplete_query.content
new file mode 100644
index 00000000..60cbd8c4
--- /dev/null
+++ b/memopol/tests/response_fixtures/GroupListTest.test_autocomplete_query.content
@@ -0,0 +1 @@
+{"pagination": {"more": false}, "results": [{"text": "Committee on Agriculture and Rural Development", "id": 47}, {"text": "Committee on Development", "id": 8}, {"text": "Committee on Regional Development", "id": 24}]}
\ No newline at end of file
diff --git a/memopol/tests/response_fixtures/GroupListTest.test_autocomplete_query.metadata b/memopol/tests/response_fixtures/GroupListTest.test_autocomplete_query.metadata
new file mode 100644
index 00000000..a2e0a692
--- /dev/null
+++ b/memopol/tests/response_fixtures/GroupListTest.test_autocomplete_query.metadata
@@ -0,0 +1,3 @@
+{
+    "status_code": 200
+}
\ No newline at end of file
diff --git a/memopol/tests/response_fixtures/GroupListTest.test_chambers.content b/memopol/tests/response_fixtures/GroupListTest.test_chambers.content
index ddcc0c32..9fae21da 100644
--- a/memopol/tests/response_fixtures/GroupListTest.test_chambers.content
+++ b/memopol/tests/response_fixtures/GroupListTest.test_chambers.content
@@ -10,7 +10,7 @@
       - The Political Memory of </title>
     
     
-    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.c7d56d0a17c9.css" type="text/css" />
+    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.9ff29455e5ae.css" type="text/css" />
     <script type="text/javascript" src="/static/collected/libs/jquery/dist/jquery.js"></script>
 <script type="text/javascript" src="/static/collected/libs/bootstrap/dist/js/bootstrap.js"></script>
     
diff --git a/memopol/tests/response_fixtures/GroupListTest.test_country.content b/memopol/tests/response_fixtures/GroupListTest.test_country.content
index 46407dc2..52aff4c6 100644
--- a/memopol/tests/response_fixtures/GroupListTest.test_country.content
+++ b/memopol/tests/response_fixtures/GroupListTest.test_country.content
@@ -10,7 +10,7 @@
       - The Political Memory of </title>
     
     
-    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.c7d56d0a17c9.css" type="text/css" />
+    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.9ff29455e5ae.css" type="text/css" />
     <script type="text/javascript" src="/static/collected/libs/jquery/dist/jquery.js"></script>
 <script type="text/javascript" src="/static/collected/libs/bootstrap/dist/js/bootstrap.js"></script>
     
diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_filter_chamber.content b/memopol/tests/response_fixtures/RepresentativeListTest.test_filter_chamber.content
new file mode 100644
index 00000000..1e9e7535
--- /dev/null
+++ b/memopol/tests/response_fixtures/RepresentativeListTest.test_filter_chamber.content
@@ -0,0 +1,865 @@
+<!DOCTYPE html>
+<html class="no-js" lang="en"> <!--<![endif]-->
+  <head>
+    <meta charset="utf-8" />
+    <link rel="icon" type="image/png" href="/static/collected/img/favicon.ico" />
+    <!-- Set the viewport width to device width for mobile -->
+    <meta name="viewport" content="width=device-width" />
+    <title>
+      Home
+      - The Political Memory of </title>
+    
+    
+    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.9ff29455e5ae.css" type="text/css" />
+    <script type="text/javascript" src="/static/collected/libs/jquery/dist/jquery.js"></script>
+<script type="text/javascript" src="/static/collected/libs/bootstrap/dist/js/bootstrap.js"></script>
+    
+
+  <link href="/static/collected/autocomplete_light/vendor/select2/dist/css/select2.css" type="text/css" media="all" rel="stylesheet" />
+<link href="/static/collected/autocomplete_light/select2.css" type="text/css" media="all" rel="stylesheet" />
+<script type="text/javascript" src="/static/collected/autocomplete_light/jquery.init.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/autocomplete.init.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/vendor/select2/dist/js/select2.full.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/select2.js"></script>
+
+
+  </head>
+  <body >
+    <!-- -load memopol_tags cache -->
+
+
+
+
+<div id='header' class='container-fluid'>
+  <a id='logo' href='/'>
+    <img src='/static/collected/images/logo.png' />
+  </a>
+  <h1>
+    <a id='header_banner' href='/'>
+      Political Memory
+    </a>
+  </h1>
+  <p class='organization'>
+    
+
+  </p>
+</div>
+<div id='nav' class='container-fluid'>
+  <ul class='nav'>
+    <li>
+      <a href='/legislature/representative/'>
+        Representatives
+      </a>
+    </li>
+    <li>
+      <a href='/legislature/group/country/'>
+        Countries
+      </a>
+    </li>
+    <li>
+      <a href='/legislature/group/chamber/'>
+        Chambers
+      </a>
+    </li>
+    <li>
+      <a href='/legislature/group/group/'>
+        Parties
+      </a>
+    </li>
+    <li>
+      <a href='/legislature/group/delegation/'>
+        Delegations
+      </a>
+    </li>
+    <li>
+      <a href='/legislature/group/committee/'>
+        Committees
+      </a>
+    </li>
+    <li>
+      <a href='/votes/dossier/'>
+        Dossiers
+
+      </a>
+    </li>
+  </ul>
+</div>
+
+    <div class="container-fluid main-container">
+      
+
+  
+
+    
+    
+
+<form class='filter-form' action='/legislature/representative/' method='get'>
+
+  <div class="form-group has-success"><label class="control-label" for="id_search">Search</label><input class="form-control" id="id_search" name="search" placeholder="Search" title="Filter" type="text" /><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_chamber">Chamber</label><select class="form-control" id="id_chamber" name="chamber" title="Filter">
+<option value="">---------</option>
+<option value="1" selected="selected">European Parliament [EP]</option>
+</select><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_country">Country</label><select class="form-control" id="id_country" name="country" title="Filter">
+<option value="" selected="selected">---------</option>
+<option value="106">Austria</option>
+<option value="98">Belgium</option>
+<option value="117">Bulgaria</option>
+<option value="184">Cyprus</option>
+<option value="88">Czech Republic</option>
+<option value="113">Denmark</option>
+<option value="126">Estonia</option>
+<option value="115">Finland</option>
+<option value="110">France</option>
+<option value="22">Germany</option>
+<option value="134">Greece</option>
+<option value="85">Hungary</option>
+<option value="182">Ireland</option>
+<option value="100">Italy</option>
+<option value="93">Latvia</option>
+<option value="145">Lithuania</option>
+<option value="112">Luxembourg</option>
+<option value="186">Malta</option>
+<option value="57">Netherlands</option>
+<option value="2">Poland</option>
+<option value="109">Portugal</option>
+<option value="19">Romania</option>
+<option value="169">Slovakia</option>
+<option value="120">Slovenia</option>
+<option value="91">Spain</option>
+<option value="140">Sweden</option>
+<option value="33">United Kingdom</option>
+</select><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_group">Party, committee or delegation</label><select class="form-control" data-autocomplete-light-function="select2" data-autocomplete-light-url="/legislature/autocomplete/group/" id="id_group" name="group" title="Filter">
+<option value="" selected="selected">---------</option>
+</select><span class="help-block">Filter
+</span></div>
+
+  <div class="form-group">
+    <button class='btn btn-primary' type='submit'>
+      <span class="glyphicon glyphicon-filter"></span> Filter
+    </button>
+  </div>
+
+  <div class="form-group">
+    <a class='btn btn-primary' href='?country=&amp;search=&amp;group=&amp;chamber=1&csv'>
+      <span class="glyphicon glyphicon-download-alt"></span> Download as CSV
+    </a>
+  </div>
+
+</form>
+
+
+  
+
+  <div class='pagination-block'>
+
+  <nav>
+    <ul class='pagination pagination-sm'>
+      
+      
+        
+          
+            <li class='active'>
+              <a href=''>
+                1
+              </a>
+            </li>
+          
+        
+      
+        
+          
+            <li>
+              <a href='?&page=2'>
+                2
+
+              </a>
+            </li>
+          
+        
+      
+        
+          
+            <li>
+              <a href='?&page=3'>
+                3
+
+              </a>
+            </li>
+          
+        
+      
+        
+          
+            <li>
+              <a href='?&page=4'>
+                4
+
+              </a>
+            </li>
+          
+        
+      
+      
+        <li>
+          <a aria-label='Next' href='?&page=2'>
+            <i aria-hidden="true" class="fa fa-chevron-right"></i>
+
+          </a>
+        </li>
+        <li>
+          <a aria-label='Last' href='?&page=21'>
+            <i aria-hidden="true" class="fa fa-chevron-circle-right"></i>
+
+          </a>
+        </li>
+      
+    </ul>
+  </nav>
+  <div class='count'>
+    Number of results : 252
+
+    
+      <br />
+      Display :
+
+  current legislature only /
+  <a href='?active_only=0'>
+    all data
+  </a>
+
+
+
+    
+    <br />
+    Number of displayed results :
+    12
+    (
+    
+      <a href='?paginate_by=12'>
+        12
+      </a>
+      
+        /
+      
+    
+      <a href='?paginate_by=24'>
+        24
+      </a>
+      
+        /
+      
+    
+      <a href='?paginate_by=48'>
+        48
+      </a>
+      
+        /
+      
+    
+      <a href='?paginate_by=96'>
+        96
+      </a>
+      
+    
+    )
+    
+      <span class='grid-list-selector'>
+  <a href='?display=grid'>
+    <i class="fa fa-th"></i>
+  </a>
+  <a href='?display=list'>
+    <i class="fa fa-th-list"></i>
+
+  </a>
+</span>
+
+
+    
+  </div>
+</div>
+
+
+  
+
+  <div class='representative_grid'>
+    
+      <div class='representative_item active'>
+        <p class='photo'>
+          <a href='/legislature/representative/zigmantas-balcytis/'>
+            <img src='http://www.europarl.europa.eu/mepphoto/96680.jpg' width='80' />
+          </a>
+        </p>
+        <ul>
+          <li class='name'>
+            <a href='/legislature/representative/zigmantas-balcytis/'>
+              Zigmantas BALÄŒYTIS
+            </a>
+          </li>
+          <li class='chamber'>
+            <a href='/legislature/representative/chamber/European%20Parliament/'>
+              <span class="chamber-icon chamber-icon-ep"></span> European Parliament
+            </a>
+          </li>
+          <li class='country'>
+            <a href='/legislature/representative/country/Lithuania/'>
+              <span class="flag-icon flag-icon-lt"></span> Lithuania
+            </a>
+          </li>
+          <li class='mandate'>
+            <a href='/legislature/representative/group/European%20Parliament/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'>
+              <span class="group-icon group-icon-sd"></span> SD
+            </a>
+          </li>
+          <li class='score'>
+            <span class="label label-success">15</span>
+
+          </li>
+        </ul>
+      </div>
+    
+      <div class='representative_item active'>
+        <p class='photo'>
+          <a href='/legislature/representative/zigmantas-balcytis/'>
+            <img src='http://www.europarl.europa.eu/mepphoto/96680.jpg' width='80' />
+          </a>
+        </p>
+        <ul>
+          <li class='name'>
+            <a href='/legislature/representative/zigmantas-balcytis/'>
+              Zigmantas BALÄŒYTIS
+            </a>
+          </li>
+          <li class='chamber'>
+            <a href='/legislature/representative/chamber/European%20Parliament/'>
+              <span class="chamber-icon chamber-icon-ep"></span> European Parliament
+            </a>
+          </li>
+          <li class='country'>
+            <a href='/legislature/representative/country/Lithuania/'>
+              <span class="flag-icon flag-icon-lt"></span> Lithuania
+            </a>
+          </li>
+          <li class='mandate'>
+            <a href='/legislature/representative/group/European%20Parliament/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'>
+              <span class="group-icon group-icon-sd"></span> SD
+            </a>
+          </li>
+          <li class='score'>
+            <span class="label label-success">15</span>
+
+          </li>
+        </ul>
+      </div>
+    
+      <div class='representative_item active'>
+        <p class='photo'>
+          <a href='/legislature/representative/zigmantas-balcytis/'>
+            <img src='http://www.europarl.europa.eu/mepphoto/96680.jpg' width='80' />
+          </a>
+        </p>
+        <ul>
+          <li class='name'>
+            <a href='/legislature/representative/zigmantas-balcytis/'>
+              Zigmantas BALÄŒYTIS
+            </a>
+          </li>
+          <li class='chamber'>
+            <a href='/legislature/representative/chamber/European%20Parliament/'>
+              <span class="chamber-icon chamber-icon-ep"></span> European Parliament
+            </a>
+          </li>
+          <li class='country'>
+            <a href='/legislature/representative/country/Lithuania/'>
+              <span class="flag-icon flag-icon-lt"></span> Lithuania
+            </a>
+          </li>
+          <li class='mandate'>
+            <a href='/legislature/representative/group/European%20Parliament/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'>
+              <span class="group-icon group-icon-sd"></span> SD
+            </a>
+          </li>
+          <li class='score'>
+            <span class="label label-success">15</span>
+
+          </li>
+        </ul>
+      </div>
+    
+      <div class='representative_item active'>
+        <p class='photo'>
+          <a href='/legislature/representative/zigmantas-balcytis/'>
+            <img src='http://www.europarl.europa.eu/mepphoto/96680.jpg' width='80' />
+          </a>
+        </p>
+        <ul>
+          <li class='name'>
+            <a href='/legislature/representative/zigmantas-balcytis/'>
+              Zigmantas BALÄŒYTIS
+            </a>
+          </li>
+          <li class='chamber'>
+            <a href='/legislature/representative/chamber/European%20Parliament/'>
+              <span class="chamber-icon chamber-icon-ep"></span> European Parliament
+            </a>
+          </li>
+          <li class='country'>
+            <a href='/legislature/representative/country/Lithuania/'>
+              <span class="flag-icon flag-icon-lt"></span> Lithuania
+            </a>
+          </li>
+          <li class='mandate'>
+            <a href='/legislature/representative/group/European%20Parliament/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'>
+              <span class="group-icon group-icon-sd"></span> SD
+            </a>
+          </li>
+          <li class='score'>
+            <span class="label label-success">15</span>
+
+          </li>
+        </ul>
+      </div>
+    
+      <div class='representative_item active'>
+        <p class='photo'>
+          <a href='/legislature/representative/zigmantas-balcytis/'>
+            <img src='http://www.europarl.europa.eu/mepphoto/96680.jpg' width='80' />
+          </a>
+        </p>
+        <ul>
+          <li class='name'>
+            <a href='/legislature/representative/zigmantas-balcytis/'>
+              Zigmantas BALÄŒYTIS
+            </a>
+          </li>
+          <li class='chamber'>
+            <a href='/legislature/representative/chamber/European%20Parliament/'>
+              <span class="chamber-icon chamber-icon-ep"></span> European Parliament
+            </a>
+          </li>
+          <li class='country'>
+            <a href='/legislature/representative/country/Lithuania/'>
+              <span class="flag-icon flag-icon-lt"></span> Lithuania
+            </a>
+          </li>
+          <li class='mandate'>
+            <a href='/legislature/representative/group/European%20Parliament/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'>
+              <span class="group-icon group-icon-sd"></span> SD
+            </a>
+          </li>
+          <li class='score'>
+            <span class="label label-success">15</span>
+
+          </li>
+        </ul>
+      </div>
+    
+      <div class='representative_item active'>
+        <p class='photo'>
+          <a href='/legislature/representative/zigmantas-balcytis/'>
+            <img src='http://www.europarl.europa.eu/mepphoto/96680.jpg' width='80' />
+          </a>
+        </p>
+        <ul>
+          <li class='name'>
+            <a href='/legislature/representative/zigmantas-balcytis/'>
+              Zigmantas BALÄŒYTIS
+            </a>
+          </li>
+          <li class='chamber'>
+            <a href='/legislature/representative/chamber/European%20Parliament/'>
+              <span class="chamber-icon chamber-icon-ep"></span> European Parliament
+            </a>
+          </li>
+          <li class='country'>
+            <a href='/legislature/representative/country/Lithuania/'>
+              <span class="flag-icon flag-icon-lt"></span> Lithuania
+            </a>
+          </li>
+          <li class='mandate'>
+            <a href='/legislature/representative/group/European%20Parliament/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'>
+              <span class="group-icon group-icon-sd"></span> SD
+            </a>
+          </li>
+          <li class='score'>
+            <span class="label label-success">15</span>
+
+          </li>
+        </ul>
+      </div>
+    
+      <div class='representative_item active'>
+        <p class='photo'>
+          <a href='/legislature/representative/zigmantas-balcytis/'>
+            <img src='http://www.europarl.europa.eu/mepphoto/96680.jpg' width='80' />
+          </a>
+        </p>
+        <ul>
+          <li class='name'>
+            <a href='/legislature/representative/zigmantas-balcytis/'>
+              Zigmantas BALÄŒYTIS
+            </a>
+          </li>
+          <li class='chamber'>
+            <a href='/legislature/representative/chamber/European%20Parliament/'>
+              <span class="chamber-icon chamber-icon-ep"></span> European Parliament
+            </a>
+          </li>
+          <li class='country'>
+            <a href='/legislature/representative/country/Lithuania/'>
+              <span class="flag-icon flag-icon-lt"></span> Lithuania
+            </a>
+          </li>
+          <li class='mandate'>
+            <a href='/legislature/representative/group/European%20Parliament/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'>
+              <span class="group-icon group-icon-sd"></span> SD
+            </a>
+          </li>
+          <li class='score'>
+            <span class="label label-success">15</span>
+
+          </li>
+        </ul>
+      </div>
+    
+      <div class='representative_item active'>
+        <p class='photo'>
+          <a href='/legislature/representative/vilija-blinkeviciute/'>
+            <img src='http://www.europarl.europa.eu/mepphoto/96681.jpg' width='80' />
+          </a>
+        </p>
+        <ul>
+          <li class='name'>
+            <a href='/legislature/representative/vilija-blinkeviciute/'>
+              Vilija BLINKEVIČIŪTĖ
+            </a>
+          </li>
+          <li class='chamber'>
+            <a href='/legislature/representative/chamber/European%20Parliament/'>
+              <span class="chamber-icon chamber-icon-ep"></span> European Parliament
+            </a>
+          </li>
+          <li class='country'>
+            <a href='/legislature/representative/country/Lithuania/'>
+              <span class="flag-icon flag-icon-lt"></span> Lithuania
+            </a>
+          </li>
+          <li class='mandate'>
+            <a href='/legislature/representative/group/European%20Parliament/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'>
+              <span class="group-icon group-icon-sd"></span> SD
+            </a>
+          </li>
+          <li class='score'>
+            <span class="label label-success">15</span>
+
+          </li>
+        </ul>
+      </div>
+    
+      <div class='representative_item active'>
+        <p class='photo'>
+          <a href='/legislature/representative/vilija-blinkeviciute/'>
+            <img src='http://www.europarl.europa.eu/mepphoto/96681.jpg' width='80' />
+          </a>
+        </p>
+        <ul>
+          <li class='name'>
+            <a href='/legislature/representative/vilija-blinkeviciute/'>
+              Vilija BLINKEVIČIŪTĖ
+            </a>
+          </li>
+          <li class='chamber'>
+            <a href='/legislature/representative/chamber/European%20Parliament/'>
+              <span class="chamber-icon chamber-icon-ep"></span> European Parliament
+            </a>
+          </li>
+          <li class='country'>
+            <a href='/legislature/representative/country/Lithuania/'>
+              <span class="flag-icon flag-icon-lt"></span> Lithuania
+            </a>
+          </li>
+          <li class='mandate'>
+            <a href='/legislature/representative/group/European%20Parliament/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'>
+              <span class="group-icon group-icon-sd"></span> SD
+            </a>
+          </li>
+          <li class='score'>
+            <span class="label label-success">15</span>
+
+          </li>
+        </ul>
+      </div>
+    
+      <div class='representative_item active'>
+        <p class='photo'>
+          <a href='/legislature/representative/vilija-blinkeviciute/'>
+            <img src='http://www.europarl.europa.eu/mepphoto/96681.jpg' width='80' />
+          </a>
+        </p>
+        <ul>
+          <li class='name'>
+            <a href='/legislature/representative/vilija-blinkeviciute/'>
+              Vilija BLINKEVIČIŪTĖ
+            </a>
+          </li>
+          <li class='chamber'>
+            <a href='/legislature/representative/chamber/European%20Parliament/'>
+              <span class="chamber-icon chamber-icon-ep"></span> European Parliament
+            </a>
+          </li>
+          <li class='country'>
+            <a href='/legislature/representative/country/Lithuania/'>
+              <span class="flag-icon flag-icon-lt"></span> Lithuania
+            </a>
+          </li>
+          <li class='mandate'>
+            <a href='/legislature/representative/group/European%20Parliament/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'>
+              <span class="group-icon group-icon-sd"></span> SD
+            </a>
+          </li>
+          <li class='score'>
+            <span class="label label-success">15</span>
+
+          </li>
+        </ul>
+      </div>
+    
+      <div class='representative_item active'>
+        <p class='photo'>
+          <a href='/legislature/representative/vilija-blinkeviciute/'>
+            <img src='http://www.europarl.europa.eu/mepphoto/96681.jpg' width='80' />
+          </a>
+        </p>
+        <ul>
+          <li class='name'>
+            <a href='/legislature/representative/vilija-blinkeviciute/'>
+              Vilija BLINKEVIČIŪTĖ
+            </a>
+          </li>
+          <li class='chamber'>
+            <a href='/legislature/representative/chamber/European%20Parliament/'>
+              <span class="chamber-icon chamber-icon-ep"></span> European Parliament
+            </a>
+          </li>
+          <li class='country'>
+            <a href='/legislature/representative/country/Lithuania/'>
+              <span class="flag-icon flag-icon-lt"></span> Lithuania
+            </a>
+          </li>
+          <li class='mandate'>
+            <a href='/legislature/representative/group/European%20Parliament/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'>
+              <span class="group-icon group-icon-sd"></span> SD
+            </a>
+          </li>
+          <li class='score'>
+            <span class="label label-success">15</span>
+
+          </li>
+        </ul>
+      </div>
+    
+      <div class='representative_item active'>
+        <p class='photo'>
+          <a href='/legislature/representative/vilija-blinkeviciute/'>
+            <img src='http://www.europarl.europa.eu/mepphoto/96681.jpg' width='80' />
+          </a>
+        </p>
+        <ul>
+          <li class='name'>
+            <a href='/legislature/representative/vilija-blinkeviciute/'>
+              Vilija BLINKEVIČIŪTĖ
+            </a>
+          </li>
+          <li class='chamber'>
+            <a href='/legislature/representative/chamber/European%20Parliament/'>
+              <span class="chamber-icon chamber-icon-ep"></span> European Parliament
+            </a>
+          </li>
+          <li class='country'>
+            <a href='/legislature/representative/country/Lithuania/'>
+              <span class="flag-icon flag-icon-lt"></span> Lithuania
+            </a>
+          </li>
+          <li class='mandate'>
+            <a href='/legislature/representative/group/European%20Parliament/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'>
+              <span class="group-icon group-icon-sd"></span> SD
+            </a>
+          </li>
+          <li class='score'>
+            <span class="label label-success">15</span>
+
+          </li>
+        </ul>
+      </div>
+    
+  </div>
+
+
+  <div class='pagination-block'>
+
+  <nav>
+    <ul class='pagination pagination-sm'>
+      
+      
+        
+          
+            <li class='active'>
+              <a href=''>
+                1
+              </a>
+            </li>
+          
+        
+      
+        
+          
+            <li>
+              <a href='?&page=2'>
+                2
+
+              </a>
+            </li>
+          
+        
+      
+        
+          
+            <li>
+              <a href='?&page=3'>
+                3
+
+              </a>
+            </li>
+          
+        
+      
+        
+          
+            <li>
+              <a href='?&page=4'>
+                4
+
+              </a>
+            </li>
+          
+        
+      
+      
+        <li>
+          <a aria-label='Next' href='?&page=2'>
+            <i aria-hidden="true" class="fa fa-chevron-right"></i>
+
+          </a>
+        </li>
+        <li>
+          <a aria-label='Last' href='?&page=21'>
+            <i aria-hidden="true" class="fa fa-chevron-circle-right"></i>
+
+          </a>
+        </li>
+      
+    </ul>
+  </nav>
+  <div class='count'>
+    Number of results : 252
+
+    
+      <br />
+      Display :
+
+  current legislature only /
+  <a href='?active_only=0'>
+    all data
+  </a>
+
+
+
+    
+    <br />
+    Number of displayed results :
+    12
+    (
+    
+      <a href='?paginate_by=12'>
+        12
+      </a>
+      
+        /
+      
+    
+      <a href='?paginate_by=24'>
+        24
+      </a>
+      
+        /
+      
+    
+      <a href='?paginate_by=48'>
+        48
+      </a>
+      
+        /
+      
+    
+      <a href='?paginate_by=96'>
+        96
+      </a>
+      
+    
+    )
+    
+      <span class='grid-list-selector'>
+  <a href='?display=grid'>
+    <i class="fa fa-th"></i>
+  </a>
+  <a href='?display=list'>
+    <i class="fa fa-th-list"></i>
+
+  </a>
+</span>
+
+
+    
+  </div>
+</div>
+
+
+
+    </div>
+    
+
+<div id='footer' class='container-fluid'>
+  <div class='license-links'>
+    
+      Memopol is
+      <a href='https://github.com/political-memory/political_memory'>free software</a>
+      released under the terms of the
+      <a href='http://www.gnu.org/licenses/agpl.html'>GNU aGPLV3+</a>
+    
+  </div>
+  <div class='footer-link'>
+    <a href='https://github.com/political-memory/political_memory/issues/new'>Report a bug</a>
+  </div>
+  <div class='footer-link'>
+    <a href='http://www.memopol.org/'>Blog</a>
+  </div>
+  <div class='footer-link'>
+    <a href='http://memopol.readthedocs.io/en/master/'>Documentation</a>
+  </div>
+  <div class='footer-separator'></div>
+  <div class='footer-link'>
+    Developed by
+    <a href='http://www.laquadrature.net/'>La Quadrature du Net</a>
+  </div>
+  <div class='footer-link'>
+    EP data provided by
+    <a href='http://parltrack.euwiki.org/'>Parltrack</a>
+  </div>
+</div>
+
+  </body>
+</html>
diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_filter_chamber.metadata b/memopol/tests/response_fixtures/RepresentativeListTest.test_filter_chamber.metadata
new file mode 100644
index 00000000..a2e0a692
--- /dev/null
+++ b/memopol/tests/response_fixtures/RepresentativeListTest.test_filter_chamber.metadata
@@ -0,0 +1,3 @@
+{
+    "status_code": 200
+}
\ No newline at end of file
diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_filter_country.content b/memopol/tests/response_fixtures/RepresentativeListTest.test_filter_country.content
new file mode 100644
index 00000000..8bcfcba4
--- /dev/null
+++ b/memopol/tests/response_fixtures/RepresentativeListTest.test_filter_country.content
@@ -0,0 +1,481 @@
+<!DOCTYPE html>
+<html class="no-js" lang="en"> <!--<![endif]-->
+  <head>
+    <meta charset="utf-8" />
+    <link rel="icon" type="image/png" href="/static/collected/img/favicon.ico" />
+    <!-- Set the viewport width to device width for mobile -->
+    <meta name="viewport" content="width=device-width" />
+    <title>
+      Home
+      - The Political Memory of </title>
+    
+    
+    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.9ff29455e5ae.css" type="text/css" />
+    <script type="text/javascript" src="/static/collected/libs/jquery/dist/jquery.js"></script>
+<script type="text/javascript" src="/static/collected/libs/bootstrap/dist/js/bootstrap.js"></script>
+    
+
+  <link href="/static/collected/autocomplete_light/vendor/select2/dist/css/select2.css" type="text/css" media="all" rel="stylesheet" />
+<link href="/static/collected/autocomplete_light/select2.css" type="text/css" media="all" rel="stylesheet" />
+<script type="text/javascript" src="/static/collected/autocomplete_light/jquery.init.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/autocomplete.init.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/vendor/select2/dist/js/select2.full.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/select2.js"></script>
+
+
+  </head>
+  <body >
+    <!-- -load memopol_tags cache -->
+
+
+
+
+<div id='header' class='container-fluid'>
+  <a id='logo' href='/'>
+    <img src='/static/collected/images/logo.png' />
+  </a>
+  <h1>
+    <a id='header_banner' href='/'>
+      Political Memory
+    </a>
+  </h1>
+  <p class='organization'>
+    
+
+  </p>
+</div>
+<div id='nav' class='container-fluid'>
+  <ul class='nav'>
+    <li>
+      <a href='/legislature/representative/'>
+        Representatives
+      </a>
+    </li>
+    <li>
+      <a href='/legislature/group/country/'>
+        Countries
+      </a>
+    </li>
+    <li>
+      <a href='/legislature/group/chamber/'>
+        Chambers
+      </a>
+    </li>
+    <li>
+      <a href='/legislature/group/group/'>
+        Parties
+      </a>
+    </li>
+    <li>
+      <a href='/legislature/group/delegation/'>
+        Delegations
+      </a>
+    </li>
+    <li>
+      <a href='/legislature/group/committee/'>
+        Committees
+      </a>
+    </li>
+    <li>
+      <a href='/votes/dossier/'>
+        Dossiers
+
+      </a>
+    </li>
+  </ul>
+</div>
+
+    <div class="container-fluid main-container">
+      
+
+  
+
+    
+    
+
+<form class='filter-form' action='/legislature/representative/' method='get'>
+
+  <div class="form-group has-success"><label class="control-label" for="id_search">Search</label><input class="form-control" id="id_search" name="search" placeholder="Search" title="Filter" type="text" /><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_chamber">Chamber</label><select class="form-control" id="id_chamber" name="chamber" title="Filter">
+<option value="" selected="selected">---------</option>
+<option value="1">European Parliament [EP]</option>
+</select><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_country">Country</label><select class="form-control" id="id_country" name="country" title="Filter">
+<option value="">---------</option>
+<option value="106">Austria</option>
+<option value="98">Belgium</option>
+<option value="117">Bulgaria</option>
+<option value="184">Cyprus</option>
+<option value="88">Czech Republic</option>
+<option value="113">Denmark</option>
+<option value="126">Estonia</option>
+<option value="115">Finland</option>
+<option value="110" selected="selected">France</option>
+<option value="22">Germany</option>
+<option value="134">Greece</option>
+<option value="85">Hungary</option>
+<option value="182">Ireland</option>
+<option value="100">Italy</option>
+<option value="93">Latvia</option>
+<option value="145">Lithuania</option>
+<option value="112">Luxembourg</option>
+<option value="186">Malta</option>
+<option value="57">Netherlands</option>
+<option value="2">Poland</option>
+<option value="109">Portugal</option>
+<option value="19">Romania</option>
+<option value="169">Slovakia</option>
+<option value="120">Slovenia</option>
+<option value="91">Spain</option>
+<option value="140">Sweden</option>
+<option value="33">United Kingdom</option>
+</select><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_group">Party, committee or delegation</label><select class="form-control" data-autocomplete-light-function="select2" data-autocomplete-light-url="/legislature/autocomplete/group/" id="id_group" name="group" title="Filter">
+<option value="" selected="selected">---------</option>
+</select><span class="help-block">Filter
+</span></div>
+
+  <div class="form-group">
+    <button class='btn btn-primary' type='submit'>
+      <span class="glyphicon glyphicon-filter"></span> Filter
+    </button>
+  </div>
+
+  <div class="form-group">
+    <a class='btn btn-primary' href='?country=110&amp;search=&amp;group=&amp;chamber=&csv'>
+      <span class="glyphicon glyphicon-download-alt"></span> Download as CSV
+    </a>
+  </div>
+
+</form>
+
+
+  
+
+  <div class='pagination-block'>
+
+  <nav>
+    <ul class='pagination pagination-sm'>
+      
+      
+      
+    </ul>
+  </nav>
+  <div class='count'>
+    Number of results : 4
+
+    
+      <br />
+      Display :
+
+  current legislature only /
+  <a href='?active_only=0'>
+    all data
+  </a>
+
+
+
+    
+    <br />
+    Number of displayed results :
+    12
+    (
+    
+      <a href='?paginate_by=12'>
+        12
+      </a>
+      
+        /
+      
+    
+      <a href='?paginate_by=24'>
+        24
+      </a>
+      
+        /
+      
+    
+      <a href='?paginate_by=48'>
+        48
+      </a>
+      
+        /
+      
+    
+      <a href='?paginate_by=96'>
+        96
+      </a>
+      
+    
+    )
+    
+      <span class='grid-list-selector'>
+  <a href='?display=grid'>
+    <i class="fa fa-th"></i>
+  </a>
+  <a href='?display=list'>
+    <i class="fa fa-th-list"></i>
+
+  </a>
+</span>
+
+
+    
+  </div>
+</div>
+
+
+  
+
+  <div class='representative_grid'>
+    
+      <div class='representative_item active'>
+        <p class='photo'>
+          <a href='/legislature/representative/jean-marie-cavada/'>
+            <img src='http://www.europarl.europa.eu/mepphoto/28206.jpg' width='80' />
+          </a>
+        </p>
+        <ul>
+          <li class='name'>
+            <a href='/legislature/representative/jean-marie-cavada/'>
+              Jean-Marie CAVADA
+            </a>
+          </li>
+          <li class='chamber'>
+            <a href='/legislature/representative/chamber/European%20Parliament/'>
+              <span class="chamber-icon chamber-icon-ep"></span> European Parliament
+            </a>
+          </li>
+          <li class='country'>
+            <a href='/legislature/representative/country/France/'>
+              <span class="flag-icon flag-icon-fr"></span> France
+            </a>
+          </li>
+          <li class='mandate'>
+            <a href='/legislature/representative/group/European%20Parliament/Group%20of%20the%20Alliance%20of%20Liberals%20and%20Democrats%20for%20Europe/'>
+              <span class="group-icon group-icon-alde"></span> ALDE
+            </a>
+          </li>
+          <li class='score'>
+            <span class="label label-danger">-15</span>
+
+          </li>
+        </ul>
+      </div>
+    
+      <div class='representative_item active'>
+        <p class='photo'>
+          <a href='/legislature/representative/michel-dantin/'>
+            <img src='http://www.europarl.europa.eu/mepphoto/97296.jpg' width='80' />
+          </a>
+        </p>
+        <ul>
+          <li class='name'>
+            <a href='/legislature/representative/michel-dantin/'>
+              Michel DANTIN
+            </a>
+          </li>
+          <li class='chamber'>
+            <a href='/legislature/representative/chamber/European%20Parliament/'>
+              <span class="chamber-icon chamber-icon-ep"></span> European Parliament
+            </a>
+          </li>
+          <li class='country'>
+            <a href='/legislature/representative/country/France/'>
+              <span class="flag-icon flag-icon-fr"></span> France
+            </a>
+          </li>
+          <li class='mandate'>
+            <a href='/legislature/representative/group/European%20Parliament/Group%20of%20the%20European%20People&#39;s%20Party%20(Christian%20Democrats)/'>
+              <span class="group-icon group-icon-epp"></span> EPP
+            </a>
+          </li>
+          <li class='score'>
+            <span class="label label-danger">-15</span>
+
+          </li>
+        </ul>
+      </div>
+    
+      <div class='representative_item active'>
+        <p class='photo'>
+          <a href='/legislature/representative/yannick-jadot/'>
+            <img src='http://www.europarl.europa.eu/mepphoto/96740.jpg' width='80' />
+          </a>
+        </p>
+        <ul>
+          <li class='name'>
+            <a href='/legislature/representative/yannick-jadot/'>
+              Yannick JADOT
+            </a>
+          </li>
+          <li class='chamber'>
+            <a href='/legislature/representative/chamber/European%20Parliament/'>
+              <span class="chamber-icon chamber-icon-ep"></span> European Parliament
+            </a>
+          </li>
+          <li class='country'>
+            <a href='/legislature/representative/country/France/'>
+              <span class="flag-icon flag-icon-fr"></span> France
+            </a>
+          </li>
+          <li class='mandate'>
+            <a href='/legislature/representative/group/European%20Parliament/Group%20of%20the%20Greens/European%20Free%20Alliance/'>
+              <span class="group-icon group-icon-greensefa"></span> Greens/EFA
+            </a>
+          </li>
+          <li class='score'>
+            <span class="label label-success">15</span>
+
+          </li>
+        </ul>
+      </div>
+    
+      <div class='representative_item active'>
+        <p class='photo'>
+          <a href='/legislature/representative/eva-joly/'>
+            <img src='http://www.europarl.europa.eu/mepphoto/96883.jpg' width='80' />
+          </a>
+        </p>
+        <ul>
+          <li class='name'>
+            <a href='/legislature/representative/eva-joly/'>
+              Eva JOLY
+            </a>
+          </li>
+          <li class='chamber'>
+            <a href='/legislature/representative/chamber/European%20Parliament/'>
+              <span class="chamber-icon chamber-icon-ep"></span> European Parliament
+            </a>
+          </li>
+          <li class='country'>
+            <a href='/legislature/representative/country/France/'>
+              <span class="flag-icon flag-icon-fr"></span> France
+            </a>
+          </li>
+          <li class='mandate'>
+            <a href='/legislature/representative/group/European%20Parliament/Group%20of%20the%20Greens/European%20Free%20Alliance/'>
+              <span class="group-icon group-icon-greensefa"></span> Greens/EFA
+            </a>
+          </li>
+          <li class='score'>
+            <span class="label label-success">15</span>
+
+          </li>
+        </ul>
+      </div>
+    
+  </div>
+
+
+  <div class='pagination-block'>
+
+  <nav>
+    <ul class='pagination pagination-sm'>
+      
+      
+      
+    </ul>
+  </nav>
+  <div class='count'>
+    Number of results : 4
+
+    
+      <br />
+      Display :
+
+  current legislature only /
+  <a href='?active_only=0'>
+    all data
+  </a>
+
+
+
+    
+    <br />
+    Number of displayed results :
+    12
+    (
+    
+      <a href='?paginate_by=12'>
+        12
+      </a>
+      
+        /
+      
+    
+      <a href='?paginate_by=24'>
+        24
+      </a>
+      
+        /
+      
+    
+      <a href='?paginate_by=48'>
+        48
+      </a>
+      
+        /
+      
+    
+      <a href='?paginate_by=96'>
+        96
+      </a>
+      
+    
+    )
+    
+      <span class='grid-list-selector'>
+  <a href='?display=grid'>
+    <i class="fa fa-th"></i>
+  </a>
+  <a href='?display=list'>
+    <i class="fa fa-th-list"></i>
+
+  </a>
+</span>
+
+
+    
+  </div>
+</div>
+
+
+
+    </div>
+    
+
+<div id='footer' class='container-fluid'>
+  <div class='license-links'>
+    
+      Memopol is
+      <a href='https://github.com/political-memory/political_memory'>free software</a>
+      released under the terms of the
+      <a href='http://www.gnu.org/licenses/agpl.html'>GNU aGPLV3+</a>
+    
+  </div>
+  <div class='footer-link'>
+    <a href='https://github.com/political-memory/political_memory/issues/new'>Report a bug</a>
+  </div>
+  <div class='footer-link'>
+    <a href='http://www.memopol.org/'>Blog</a>
+  </div>
+  <div class='footer-link'>
+    <a href='http://memopol.readthedocs.io/en/master/'>Documentation</a>
+  </div>
+  <div class='footer-separator'></div>
+  <div class='footer-link'>
+    Developed by
+    <a href='http://www.laquadrature.net/'>La Quadrature du Net</a>
+  </div>
+  <div class='footer-link'>
+    EP data provided by
+    <a href='http://parltrack.euwiki.org/'>Parltrack</a>
+  </div>
+</div>
+
+  </body>
+</html>
diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_filter_country.metadata b/memopol/tests/response_fixtures/RepresentativeListTest.test_filter_country.metadata
new file mode 100644
index 00000000..a2e0a692
--- /dev/null
+++ b/memopol/tests/response_fixtures/RepresentativeListTest.test_filter_country.metadata
@@ -0,0 +1,3 @@
+{
+    "status_code": 200
+}
\ No newline at end of file
diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_filter_group.content b/memopol/tests/response_fixtures/RepresentativeListTest.test_filter_group.content
new file mode 100644
index 00000000..ec89ac80
--- /dev/null
+++ b/memopol/tests/response_fixtures/RepresentativeListTest.test_filter_group.content
@@ -0,0 +1,550 @@
+<!DOCTYPE html>
+<html class="no-js" lang="en"> <!--<![endif]-->
+  <head>
+    <meta charset="utf-8" />
+    <link rel="icon" type="image/png" href="/static/collected/img/favicon.ico" />
+    <!-- Set the viewport width to device width for mobile -->
+    <meta name="viewport" content="width=device-width" />
+    <title>
+      Home
+      - The Political Memory of </title>
+    
+    
+    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.9ff29455e5ae.css" type="text/css" />
+    <script type="text/javascript" src="/static/collected/libs/jquery/dist/jquery.js"></script>
+<script type="text/javascript" src="/static/collected/libs/bootstrap/dist/js/bootstrap.js"></script>
+    
+
+  <link href="/static/collected/autocomplete_light/vendor/select2/dist/css/select2.css" type="text/css" media="all" rel="stylesheet" />
+<link href="/static/collected/autocomplete_light/select2.css" type="text/css" media="all" rel="stylesheet" />
+<script type="text/javascript" src="/static/collected/autocomplete_light/jquery.init.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/autocomplete.init.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/vendor/select2/dist/js/select2.full.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/select2.js"></script>
+
+
+  </head>
+  <body >
+    <!-- -load memopol_tags cache -->
+
+
+
+
+<div id='header' class='container-fluid'>
+  <a id='logo' href='/'>
+    <img src='/static/collected/images/logo.png' />
+  </a>
+  <h1>
+    <a id='header_banner' href='/'>
+      Political Memory
+    </a>
+  </h1>
+  <p class='organization'>
+    
+
+  </p>
+</div>
+<div id='nav' class='container-fluid'>
+  <ul class='nav'>
+    <li>
+      <a href='/legislature/representative/'>
+        Representatives
+      </a>
+    </li>
+    <li>
+      <a href='/legislature/group/country/'>
+        Countries
+      </a>
+    </li>
+    <li>
+      <a href='/legislature/group/chamber/'>
+        Chambers
+      </a>
+    </li>
+    <li>
+      <a href='/legislature/group/group/'>
+        Parties
+      </a>
+    </li>
+    <li>
+      <a href='/legislature/group/delegation/'>
+        Delegations
+      </a>
+    </li>
+    <li>
+      <a href='/legislature/group/committee/'>
+        Committees
+      </a>
+    </li>
+    <li>
+      <a href='/votes/dossier/'>
+        Dossiers
+
+      </a>
+    </li>
+  </ul>
+</div>
+
+    <div class="container-fluid main-container">
+      
+
+  
+
+    
+    
+
+<form class='filter-form' action='/legislature/representative/' method='get'>
+
+  <div class="form-group has-success"><label class="control-label" for="id_search">Search</label><input class="form-control" id="id_search" name="search" placeholder="Search" title="Filter" type="text" /><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_chamber">Chamber</label><select class="form-control" id="id_chamber" name="chamber" title="Filter">
+<option value="" selected="selected">---------</option>
+<option value="1">European Parliament [EP]</option>
+</select><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_country">Country</label><select class="form-control" id="id_country" name="country" title="Filter">
+<option value="" selected="selected">---------</option>
+<option value="106">Austria</option>
+<option value="98">Belgium</option>
+<option value="117">Bulgaria</option>
+<option value="184">Cyprus</option>
+<option value="88">Czech Republic</option>
+<option value="113">Denmark</option>
+<option value="126">Estonia</option>
+<option value="115">Finland</option>
+<option value="110">France</option>
+<option value="22">Germany</option>
+<option value="134">Greece</option>
+<option value="85">Hungary</option>
+<option value="182">Ireland</option>
+<option value="100">Italy</option>
+<option value="93">Latvia</option>
+<option value="145">Lithuania</option>
+<option value="112">Luxembourg</option>
+<option value="186">Malta</option>
+<option value="57">Netherlands</option>
+<option value="2">Poland</option>
+<option value="109">Portugal</option>
+<option value="19">Romania</option>
+<option value="169">Slovakia</option>
+<option value="120">Slovenia</option>
+<option value="91">Spain</option>
+<option value="140">Sweden</option>
+<option value="33">United Kingdom</option>
+</select><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_group">Party, committee or delegation</label><select class="form-control" data-autocomplete-light-function="select2" data-autocomplete-light-url="/legislature/autocomplete/group/" id="id_group" name="group" title="Filter">
+<option value="">---------</option>
+<option value="17" selected="selected">Group of the Alliance of Liberals and Democrats for Europe</option>
+</select><span class="help-block">Filter
+</span></div>
+
+  <div class="form-group">
+    <button class='btn btn-primary' type='submit'>
+      <span class="glyphicon glyphicon-filter"></span> Filter
+    </button>
+  </div>
+
+  <div class="form-group">
+    <a class='btn btn-primary' href='?country=&amp;search=&amp;group=17&amp;chamber=&csv'>
+      <span class="glyphicon glyphicon-download-alt"></span> Download as CSV
+    </a>
+  </div>
+
+</form>
+
+
+  
+
+  <div class='pagination-block'>
+
+  <nav>
+    <ul class='pagination pagination-sm'>
+      
+      
+      
+    </ul>
+  </nav>
+  <div class='count'>
+    Number of results : 6
+
+    
+      <br />
+      Display :
+
+  current legislature only /
+  <a href='?active_only=0'>
+    all data
+  </a>
+
+
+
+    
+    <br />
+    Number of displayed results :
+    12
+    (
+    
+      <a href='?paginate_by=12'>
+        12
+      </a>
+      
+        /
+      
+    
+      <a href='?paginate_by=24'>
+        24
+      </a>
+      
+        /
+      
+    
+      <a href='?paginate_by=48'>
+        48
+      </a>
+      
+        /
+      
+    
+      <a href='?paginate_by=96'>
+        96
+      </a>
+      
+    
+    )
+    
+      <span class='grid-list-selector'>
+  <a href='?display=grid'>
+    <i class="fa fa-th"></i>
+  </a>
+  <a href='?display=list'>
+    <i class="fa fa-th-list"></i>
+
+  </a>
+</span>
+
+
+    
+  </div>
+</div>
+
+
+  
+
+  <div class='representative_grid'>
+    
+      <div class='representative_item active'>
+        <p class='photo'>
+          <a href='/legislature/representative/jean-marie-cavada/'>
+            <img src='http://www.europarl.europa.eu/mepphoto/28206.jpg' width='80' />
+          </a>
+        </p>
+        <ul>
+          <li class='name'>
+            <a href='/legislature/representative/jean-marie-cavada/'>
+              Jean-Marie CAVADA
+            </a>
+          </li>
+          <li class='chamber'>
+            <a href='/legislature/representative/chamber/European%20Parliament/'>
+              <span class="chamber-icon chamber-icon-ep"></span> European Parliament
+            </a>
+          </li>
+          <li class='country'>
+            <a href='/legislature/representative/country/France/'>
+              <span class="flag-icon flag-icon-fr"></span> France
+            </a>
+          </li>
+          <li class='mandate'>
+            <a href='/legislature/representative/group/European%20Parliament/Group%20of%20the%20Alliance%20of%20Liberals%20and%20Democrats%20for%20Europe/'>
+              <span class="group-icon group-icon-alde"></span> ALDE
+            </a>
+          </li>
+          <li class='score'>
+            <span class="label label-danger">-15</span>
+
+          </li>
+        </ul>
+      </div>
+    
+      <div class='representative_item active'>
+        <p class='photo'>
+          <a href='/legislature/representative/marian-harkin/'>
+            <img src='http://www.europarl.europa.eu/mepphoto/28116.jpg' width='80' />
+          </a>
+        </p>
+        <ul>
+          <li class='name'>
+            <a href='/legislature/representative/marian-harkin/'>
+              Marian HARKIN
+            </a>
+          </li>
+          <li class='chamber'>
+            <a href='/legislature/representative/chamber/European%20Parliament/'>
+              <span class="chamber-icon chamber-icon-ep"></span> European Parliament
+            </a>
+          </li>
+          <li class='country'>
+            <a href='/legislature/representative/country/Ireland/'>
+              <span class="flag-icon flag-icon-ie"></span> Ireland
+            </a>
+          </li>
+          <li class='mandate'>
+            <a href='/legislature/representative/group/European%20Parliament/Group%20of%20the%20Alliance%20of%20Liberals%20and%20Democrats%20for%20Europe/'>
+              <span class="group-icon group-icon-alde"></span> ALDE
+            </a>
+          </li>
+          <li class='score'>
+            <span class="label label-success">15</span>
+
+          </li>
+        </ul>
+      </div>
+    
+      <div class='representative_item active'>
+        <p class='photo'>
+          <a href='/legislature/representative/frederique-ries/'>
+            <img src='http://www.europarl.europa.eu/mepphoto/4253.jpg' width='80' />
+          </a>
+        </p>
+        <ul>
+          <li class='name'>
+            <a href='/legislature/representative/frederique-ries/'>
+              Frédérique RIES
+            </a>
+          </li>
+          <li class='chamber'>
+            <a href='/legislature/representative/chamber/European%20Parliament/'>
+              <span class="chamber-icon chamber-icon-ep"></span> European Parliament
+            </a>
+          </li>
+          <li class='country'>
+            <a href='/legislature/representative/country/Belgium/'>
+              <span class="flag-icon flag-icon-be"></span> Belgium
+            </a>
+          </li>
+          <li class='mandate'>
+            <a href='/legislature/representative/group/European%20Parliament/Group%20of%20the%20Alliance%20of%20Liberals%20and%20Democrats%20for%20Europe/'>
+              <span class="group-icon group-icon-alde"></span> ALDE
+            </a>
+          </li>
+          <li class='score'>
+            <span class="label label-success">3</span>
+
+          </li>
+        </ul>
+      </div>
+    
+      <div class='representative_item active'>
+        <p class='photo'>
+          <a href='/legislature/representative/ramon-tremosa-i-balcells/'>
+            <img src='http://www.europarl.europa.eu/mepphoto/97203.jpg' width='80' />
+          </a>
+        </p>
+        <ul>
+          <li class='name'>
+            <a href='/legislature/representative/ramon-tremosa-i-balcells/'>
+              Ramon TREMOSA i BALCELLS
+            </a>
+          </li>
+          <li class='chamber'>
+            <a href='/legislature/representative/chamber/European%20Parliament/'>
+              <span class="chamber-icon chamber-icon-ep"></span> European Parliament
+            </a>
+          </li>
+          <li class='country'>
+            <a href='/legislature/representative/country/Spain/'>
+              <span class="flag-icon flag-icon-es"></span> Spain
+            </a>
+          </li>
+          <li class='mandate'>
+            <a href='/legislature/representative/group/European%20Parliament/Group%20of%20the%20Alliance%20of%20Liberals%20and%20Democrats%20for%20Europe/'>
+              <span class="group-icon group-icon-alde"></span> ALDE
+            </a>
+          </li>
+          <li class='score'>
+            <span class="label label-success">15</span>
+
+          </li>
+        </ul>
+      </div>
+    
+      <div class='representative_item active'>
+        <p class='photo'>
+          <a href='/legislature/representative/ivo-vajgl/'>
+            <img src='http://www.europarl.europa.eu/mepphoto/97019.jpg' width='80' />
+          </a>
+        </p>
+        <ul>
+          <li class='name'>
+            <a href='/legislature/representative/ivo-vajgl/'>
+              Ivo VAJGL
+            </a>
+          </li>
+          <li class='chamber'>
+            <a href='/legislature/representative/chamber/European%20Parliament/'>
+              <span class="chamber-icon chamber-icon-ep"></span> European Parliament
+            </a>
+          </li>
+          <li class='country'>
+            <a href='/legislature/representative/country/Slovenia/'>
+              <span class="flag-icon flag-icon-si"></span> Slovenia
+            </a>
+          </li>
+          <li class='mandate'>
+            <a href='/legislature/representative/group/European%20Parliament/Group%20of%20the%20Alliance%20of%20Liberals%20and%20Democrats%20for%20Europe/'>
+              <span class="group-icon group-icon-alde"></span> ALDE
+            </a>
+          </li>
+          <li class='score'>
+            <span class="label label-success">15</span>
+
+          </li>
+        </ul>
+      </div>
+    
+      <div class='representative_item active'>
+        <p class='photo'>
+          <a href='/legislature/representative/cecilia-wikstrom/'>
+            <img src='http://www.europarl.europa.eu/mepphoto/96677.jpg' width='80' />
+          </a>
+        </p>
+        <ul>
+          <li class='name'>
+            <a href='/legislature/representative/cecilia-wikstrom/'>
+              Cecilia WIKSTRÖM
+            </a>
+          </li>
+          <li class='chamber'>
+            <a href='/legislature/representative/chamber/European%20Parliament/'>
+              <span class="chamber-icon chamber-icon-ep"></span> European Parliament
+            </a>
+          </li>
+          <li class='country'>
+            <a href='/legislature/representative/country/Sweden/'>
+              <span class="flag-icon flag-icon-se"></span> Sweden
+            </a>
+          </li>
+          <li class='mandate'>
+            <a href='/legislature/representative/group/European%20Parliament/Group%20of%20the%20Alliance%20of%20Liberals%20and%20Democrats%20for%20Europe/'>
+              <span class="group-icon group-icon-alde"></span> ALDE
+            </a>
+          </li>
+          <li class='score'>
+            <span class="label label-danger">-7</span>
+
+          </li>
+        </ul>
+      </div>
+    
+  </div>
+
+
+  <div class='pagination-block'>
+
+  <nav>
+    <ul class='pagination pagination-sm'>
+      
+      
+      
+    </ul>
+  </nav>
+  <div class='count'>
+    Number of results : 6
+
+    
+      <br />
+      Display :
+
+  current legislature only /
+  <a href='?active_only=0'>
+    all data
+  </a>
+
+
+
+    
+    <br />
+    Number of displayed results :
+    12
+    (
+    
+      <a href='?paginate_by=12'>
+        12
+      </a>
+      
+        /
+      
+    
+      <a href='?paginate_by=24'>
+        24
+      </a>
+      
+        /
+      
+    
+      <a href='?paginate_by=48'>
+        48
+      </a>
+      
+        /
+      
+    
+      <a href='?paginate_by=96'>
+        96
+      </a>
+      
+    
+    )
+    
+      <span class='grid-list-selector'>
+  <a href='?display=grid'>
+    <i class="fa fa-th"></i>
+  </a>
+  <a href='?display=list'>
+    <i class="fa fa-th-list"></i>
+
+  </a>
+</span>
+
+
+    
+  </div>
+</div>
+
+
+
+    </div>
+    
+
+<div id='footer' class='container-fluid'>
+  <div class='license-links'>
+    
+      Memopol is
+      <a href='https://github.com/political-memory/political_memory'>free software</a>
+      released under the terms of the
+      <a href='http://www.gnu.org/licenses/agpl.html'>GNU aGPLV3+</a>
+    
+  </div>
+  <div class='footer-link'>
+    <a href='https://github.com/political-memory/political_memory/issues/new'>Report a bug</a>
+  </div>
+  <div class='footer-link'>
+    <a href='http://www.memopol.org/'>Blog</a>
+  </div>
+  <div class='footer-link'>
+    <a href='http://memopol.readthedocs.io/en/master/'>Documentation</a>
+  </div>
+  <div class='footer-separator'></div>
+  <div class='footer-link'>
+    Developed by
+    <a href='http://www.laquadrature.net/'>La Quadrature du Net</a>
+  </div>
+  <div class='footer-link'>
+    EP data provided by
+    <a href='http://parltrack.euwiki.org/'>Parltrack</a>
+  </div>
+</div>
+
+  </body>
+</html>
diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_filter_group.metadata b/memopol/tests/response_fixtures/RepresentativeListTest.test_filter_group.metadata
new file mode 100644
index 00000000..a2e0a692
--- /dev/null
+++ b/memopol/tests/response_fixtures/RepresentativeListTest.test_filter_group.metadata
@@ -0,0 +1,3 @@
+{
+    "status_code": 200
+}
\ No newline at end of file
diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_filter_multiple.content b/memopol/tests/response_fixtures/RepresentativeListTest.test_filter_multiple.content
new file mode 100644
index 00000000..21ef8bbd
--- /dev/null
+++ b/memopol/tests/response_fixtures/RepresentativeListTest.test_filter_multiple.content
@@ -0,0 +1,550 @@
+<!DOCTYPE html>
+<html class="no-js" lang="en"> <!--<![endif]-->
+  <head>
+    <meta charset="utf-8" />
+    <link rel="icon" type="image/png" href="/static/collected/img/favicon.ico" />
+    <!-- Set the viewport width to device width for mobile -->
+    <meta name="viewport" content="width=device-width" />
+    <title>
+      Home
+      - The Political Memory of </title>
+    
+    
+    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.9ff29455e5ae.css" type="text/css" />
+    <script type="text/javascript" src="/static/collected/libs/jquery/dist/jquery.js"></script>
+<script type="text/javascript" src="/static/collected/libs/bootstrap/dist/js/bootstrap.js"></script>
+    
+
+  <link href="/static/collected/autocomplete_light/vendor/select2/dist/css/select2.css" type="text/css" media="all" rel="stylesheet" />
+<link href="/static/collected/autocomplete_light/select2.css" type="text/css" media="all" rel="stylesheet" />
+<script type="text/javascript" src="/static/collected/autocomplete_light/jquery.init.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/autocomplete.init.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/vendor/select2/dist/js/select2.full.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/select2.js"></script>
+
+
+  </head>
+  <body >
+    <!-- -load memopol_tags cache -->
+
+
+
+
+<div id='header' class='container-fluid'>
+  <a id='logo' href='/'>
+    <img src='/static/collected/images/logo.png' />
+  </a>
+  <h1>
+    <a id='header_banner' href='/'>
+      Political Memory
+    </a>
+  </h1>
+  <p class='organization'>
+    
+
+  </p>
+</div>
+<div id='nav' class='container-fluid'>
+  <ul class='nav'>
+    <li>
+      <a href='/legislature/representative/'>
+        Representatives
+      </a>
+    </li>
+    <li>
+      <a href='/legislature/group/country/'>
+        Countries
+      </a>
+    </li>
+    <li>
+      <a href='/legislature/group/chamber/'>
+        Chambers
+      </a>
+    </li>
+    <li>
+      <a href='/legislature/group/group/'>
+        Parties
+      </a>
+    </li>
+    <li>
+      <a href='/legislature/group/delegation/'>
+        Delegations
+      </a>
+    </li>
+    <li>
+      <a href='/legislature/group/committee/'>
+        Committees
+      </a>
+    </li>
+    <li>
+      <a href='/votes/dossier/'>
+        Dossiers
+
+      </a>
+    </li>
+  </ul>
+</div>
+
+    <div class="container-fluid main-container">
+      
+
+  
+
+    
+    
+
+<form class='filter-form' action='/legislature/representative/' method='get'>
+
+  <div class="form-group has-success"><label class="control-label" for="id_search">Search</label><input class="form-control" id="id_search" name="search" placeholder="Search" title="Filter" type="text" value="e" /><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_chamber">Chamber</label><select class="form-control" id="id_chamber" name="chamber" title="Filter">
+<option value="">---------</option>
+<option value="1" selected="selected">European Parliament [EP]</option>
+</select><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_country">Country</label><select class="form-control" id="id_country" name="country" title="Filter">
+<option value="">---------</option>
+<option value="106">Austria</option>
+<option value="98">Belgium</option>
+<option value="117">Bulgaria</option>
+<option value="184">Cyprus</option>
+<option value="88">Czech Republic</option>
+<option value="113">Denmark</option>
+<option value="126">Estonia</option>
+<option value="115">Finland</option>
+<option value="110" selected="selected">France</option>
+<option value="22">Germany</option>
+<option value="134">Greece</option>
+<option value="85">Hungary</option>
+<option value="182">Ireland</option>
+<option value="100">Italy</option>
+<option value="93">Latvia</option>
+<option value="145">Lithuania</option>
+<option value="112">Luxembourg</option>
+<option value="186">Malta</option>
+<option value="57">Netherlands</option>
+<option value="2">Poland</option>
+<option value="109">Portugal</option>
+<option value="19">Romania</option>
+<option value="169">Slovakia</option>
+<option value="120">Slovenia</option>
+<option value="91">Spain</option>
+<option value="140">Sweden</option>
+<option value="33">United Kingdom</option>
+</select><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_group">Party, committee or delegation</label><select class="form-control" data-autocomplete-light-function="select2" data-autocomplete-light-url="/legislature/autocomplete/group/" id="id_group" name="group" title="Filter">
+<option value="">---------</option>
+<option value="17" selected="selected">Group of the Alliance of Liberals and Democrats for Europe</option>
+</select><span class="help-block">Filter
+</span></div>
+
+  <div class="form-group">
+    <button class='btn btn-primary' type='submit'>
+      <span class="glyphicon glyphicon-filter"></span> Filter
+    </button>
+  </div>
+
+  <div class="form-group">
+    <a class='btn btn-primary' href='?country=110&amp;search=e&amp;group=17&amp;chamber=1&csv'>
+      <span class="glyphicon glyphicon-download-alt"></span> Download as CSV
+    </a>
+  </div>
+
+</form>
+
+
+  
+
+  <div class='pagination-block'>
+
+  <nav>
+    <ul class='pagination pagination-sm'>
+      
+      
+      
+    </ul>
+  </nav>
+  <div class='count'>
+    Number of results : 6
+
+    
+      <br />
+      Display :
+
+  current legislature only /
+  <a href='?active_only=0'>
+    all data
+  </a>
+
+
+
+    
+    <br />
+    Number of displayed results :
+    12
+    (
+    
+      <a href='?paginate_by=12'>
+        12
+      </a>
+      
+        /
+      
+    
+      <a href='?paginate_by=24'>
+        24
+      </a>
+      
+        /
+      
+    
+      <a href='?paginate_by=48'>
+        48
+      </a>
+      
+        /
+      
+    
+      <a href='?paginate_by=96'>
+        96
+      </a>
+      
+    
+    )
+    
+      <span class='grid-list-selector'>
+  <a href='?display=grid'>
+    <i class="fa fa-th"></i>
+  </a>
+  <a href='?display=list'>
+    <i class="fa fa-th-list"></i>
+
+  </a>
+</span>
+
+
+    
+  </div>
+</div>
+
+
+  
+
+  <div class='representative_grid'>
+    
+      <div class='representative_item active'>
+        <p class='photo'>
+          <a href='/legislature/representative/jean-marie-cavada/'>
+            <img src='http://www.europarl.europa.eu/mepphoto/28206.jpg' width='80' />
+          </a>
+        </p>
+        <ul>
+          <li class='name'>
+            <a href='/legislature/representative/jean-marie-cavada/'>
+              Jean-Marie CAVADA
+            </a>
+          </li>
+          <li class='chamber'>
+            <a href='/legislature/representative/chamber/European%20Parliament/'>
+              <span class="chamber-icon chamber-icon-ep"></span> European Parliament
+            </a>
+          </li>
+          <li class='country'>
+            <a href='/legislature/representative/country/France/'>
+              <span class="flag-icon flag-icon-fr"></span> France
+            </a>
+          </li>
+          <li class='mandate'>
+            <a href='/legislature/representative/group/European%20Parliament/Group%20of%20the%20Alliance%20of%20Liberals%20and%20Democrats%20for%20Europe/'>
+              <span class="group-icon group-icon-alde"></span> ALDE
+            </a>
+          </li>
+          <li class='score'>
+            <span class="label label-danger">-15</span>
+
+          </li>
+        </ul>
+      </div>
+    
+      <div class='representative_item active'>
+        <p class='photo'>
+          <a href='/legislature/representative/jean-marie-cavada/'>
+            <img src='http://www.europarl.europa.eu/mepphoto/28206.jpg' width='80' />
+          </a>
+        </p>
+        <ul>
+          <li class='name'>
+            <a href='/legislature/representative/jean-marie-cavada/'>
+              Jean-Marie CAVADA
+            </a>
+          </li>
+          <li class='chamber'>
+            <a href='/legislature/representative/chamber/European%20Parliament/'>
+              <span class="chamber-icon chamber-icon-ep"></span> European Parliament
+            </a>
+          </li>
+          <li class='country'>
+            <a href='/legislature/representative/country/France/'>
+              <span class="flag-icon flag-icon-fr"></span> France
+            </a>
+          </li>
+          <li class='mandate'>
+            <a href='/legislature/representative/group/European%20Parliament/Group%20of%20the%20Alliance%20of%20Liberals%20and%20Democrats%20for%20Europe/'>
+              <span class="group-icon group-icon-alde"></span> ALDE
+            </a>
+          </li>
+          <li class='score'>
+            <span class="label label-danger">-15</span>
+
+          </li>
+        </ul>
+      </div>
+    
+      <div class='representative_item active'>
+        <p class='photo'>
+          <a href='/legislature/representative/jean-marie-cavada/'>
+            <img src='http://www.europarl.europa.eu/mepphoto/28206.jpg' width='80' />
+          </a>
+        </p>
+        <ul>
+          <li class='name'>
+            <a href='/legislature/representative/jean-marie-cavada/'>
+              Jean-Marie CAVADA
+            </a>
+          </li>
+          <li class='chamber'>
+            <a href='/legislature/representative/chamber/European%20Parliament/'>
+              <span class="chamber-icon chamber-icon-ep"></span> European Parliament
+            </a>
+          </li>
+          <li class='country'>
+            <a href='/legislature/representative/country/France/'>
+              <span class="flag-icon flag-icon-fr"></span> France
+            </a>
+          </li>
+          <li class='mandate'>
+            <a href='/legislature/representative/group/European%20Parliament/Group%20of%20the%20Alliance%20of%20Liberals%20and%20Democrats%20for%20Europe/'>
+              <span class="group-icon group-icon-alde"></span> ALDE
+            </a>
+          </li>
+          <li class='score'>
+            <span class="label label-danger">-15</span>
+
+          </li>
+        </ul>
+      </div>
+    
+      <div class='representative_item active'>
+        <p class='photo'>
+          <a href='/legislature/representative/jean-marie-cavada/'>
+            <img src='http://www.europarl.europa.eu/mepphoto/28206.jpg' width='80' />
+          </a>
+        </p>
+        <ul>
+          <li class='name'>
+            <a href='/legislature/representative/jean-marie-cavada/'>
+              Jean-Marie CAVADA
+            </a>
+          </li>
+          <li class='chamber'>
+            <a href='/legislature/representative/chamber/European%20Parliament/'>
+              <span class="chamber-icon chamber-icon-ep"></span> European Parliament
+            </a>
+          </li>
+          <li class='country'>
+            <a href='/legislature/representative/country/France/'>
+              <span class="flag-icon flag-icon-fr"></span> France
+            </a>
+          </li>
+          <li class='mandate'>
+            <a href='/legislature/representative/group/European%20Parliament/Group%20of%20the%20Alliance%20of%20Liberals%20and%20Democrats%20for%20Europe/'>
+              <span class="group-icon group-icon-alde"></span> ALDE
+            </a>
+          </li>
+          <li class='score'>
+            <span class="label label-danger">-15</span>
+
+          </li>
+        </ul>
+      </div>
+    
+      <div class='representative_item active'>
+        <p class='photo'>
+          <a href='/legislature/representative/jean-marie-cavada/'>
+            <img src='http://www.europarl.europa.eu/mepphoto/28206.jpg' width='80' />
+          </a>
+        </p>
+        <ul>
+          <li class='name'>
+            <a href='/legislature/representative/jean-marie-cavada/'>
+              Jean-Marie CAVADA
+            </a>
+          </li>
+          <li class='chamber'>
+            <a href='/legislature/representative/chamber/European%20Parliament/'>
+              <span class="chamber-icon chamber-icon-ep"></span> European Parliament
+            </a>
+          </li>
+          <li class='country'>
+            <a href='/legislature/representative/country/France/'>
+              <span class="flag-icon flag-icon-fr"></span> France
+            </a>
+          </li>
+          <li class='mandate'>
+            <a href='/legislature/representative/group/European%20Parliament/Group%20of%20the%20Alliance%20of%20Liberals%20and%20Democrats%20for%20Europe/'>
+              <span class="group-icon group-icon-alde"></span> ALDE
+            </a>
+          </li>
+          <li class='score'>
+            <span class="label label-danger">-15</span>
+
+          </li>
+        </ul>
+      </div>
+    
+      <div class='representative_item active'>
+        <p class='photo'>
+          <a href='/legislature/representative/jean-marie-cavada/'>
+            <img src='http://www.europarl.europa.eu/mepphoto/28206.jpg' width='80' />
+          </a>
+        </p>
+        <ul>
+          <li class='name'>
+            <a href='/legislature/representative/jean-marie-cavada/'>
+              Jean-Marie CAVADA
+            </a>
+          </li>
+          <li class='chamber'>
+            <a href='/legislature/representative/chamber/European%20Parliament/'>
+              <span class="chamber-icon chamber-icon-ep"></span> European Parliament
+            </a>
+          </li>
+          <li class='country'>
+            <a href='/legislature/representative/country/France/'>
+              <span class="flag-icon flag-icon-fr"></span> France
+            </a>
+          </li>
+          <li class='mandate'>
+            <a href='/legislature/representative/group/European%20Parliament/Group%20of%20the%20Alliance%20of%20Liberals%20and%20Democrats%20for%20Europe/'>
+              <span class="group-icon group-icon-alde"></span> ALDE
+            </a>
+          </li>
+          <li class='score'>
+            <span class="label label-danger">-15</span>
+
+          </li>
+        </ul>
+      </div>
+    
+  </div>
+
+
+  <div class='pagination-block'>
+
+  <nav>
+    <ul class='pagination pagination-sm'>
+      
+      
+      
+    </ul>
+  </nav>
+  <div class='count'>
+    Number of results : 6
+
+    
+      <br />
+      Display :
+
+  current legislature only /
+  <a href='?active_only=0'>
+    all data
+  </a>
+
+
+
+    
+    <br />
+    Number of displayed results :
+    12
+    (
+    
+      <a href='?paginate_by=12'>
+        12
+      </a>
+      
+        /
+      
+    
+      <a href='?paginate_by=24'>
+        24
+      </a>
+      
+        /
+      
+    
+      <a href='?paginate_by=48'>
+        48
+      </a>
+      
+        /
+      
+    
+      <a href='?paginate_by=96'>
+        96
+      </a>
+      
+    
+    )
+    
+      <span class='grid-list-selector'>
+  <a href='?display=grid'>
+    <i class="fa fa-th"></i>
+  </a>
+  <a href='?display=list'>
+    <i class="fa fa-th-list"></i>
+
+  </a>
+</span>
+
+
+    
+  </div>
+</div>
+
+
+
+    </div>
+    
+
+<div id='footer' class='container-fluid'>
+  <div class='license-links'>
+    
+      Memopol is
+      <a href='https://github.com/political-memory/political_memory'>free software</a>
+      released under the terms of the
+      <a href='http://www.gnu.org/licenses/agpl.html'>GNU aGPLV3+</a>
+    
+  </div>
+  <div class='footer-link'>
+    <a href='https://github.com/political-memory/political_memory/issues/new'>Report a bug</a>
+  </div>
+  <div class='footer-link'>
+    <a href='http://www.memopol.org/'>Blog</a>
+  </div>
+  <div class='footer-link'>
+    <a href='http://memopol.readthedocs.io/en/master/'>Documentation</a>
+  </div>
+  <div class='footer-separator'></div>
+  <div class='footer-link'>
+    Developed by
+    <a href='http://www.laquadrature.net/'>La Quadrature du Net</a>
+  </div>
+  <div class='footer-link'>
+    EP data provided by
+    <a href='http://parltrack.euwiki.org/'>Parltrack</a>
+  </div>
+</div>
+
+  </body>
+</html>
diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_filter_multiple.metadata b/memopol/tests/response_fixtures/RepresentativeListTest.test_filter_multiple.metadata
new file mode 100644
index 00000000..a2e0a692
--- /dev/null
+++ b/memopol/tests/response_fixtures/RepresentativeListTest.test_filter_multiple.metadata
@@ -0,0 +1,3 @@
+{
+    "status_code": 200
+}
\ No newline at end of file
diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_filter_search.content b/memopol/tests/response_fixtures/RepresentativeListTest.test_filter_search.content
new file mode 100644
index 00000000..d2ce383f
--- /dev/null
+++ b/memopol/tests/response_fixtures/RepresentativeListTest.test_filter_search.content
@@ -0,0 +1,447 @@
+<!DOCTYPE html>
+<html class="no-js" lang="en"> <!--<![endif]-->
+  <head>
+    <meta charset="utf-8" />
+    <link rel="icon" type="image/png" href="/static/collected/img/favicon.ico" />
+    <!-- Set the viewport width to device width for mobile -->
+    <meta name="viewport" content="width=device-width" />
+    <title>
+      Home
+      - The Political Memory of </title>
+    
+    
+    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.9ff29455e5ae.css" type="text/css" />
+    <script type="text/javascript" src="/static/collected/libs/jquery/dist/jquery.js"></script>
+<script type="text/javascript" src="/static/collected/libs/bootstrap/dist/js/bootstrap.js"></script>
+    
+
+  <link href="/static/collected/autocomplete_light/vendor/select2/dist/css/select2.css" type="text/css" media="all" rel="stylesheet" />
+<link href="/static/collected/autocomplete_light/select2.css" type="text/css" media="all" rel="stylesheet" />
+<script type="text/javascript" src="/static/collected/autocomplete_light/jquery.init.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/autocomplete.init.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/vendor/select2/dist/js/select2.full.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/select2.js"></script>
+
+
+  </head>
+  <body >
+    <!-- -load memopol_tags cache -->
+
+
+
+
+<div id='header' class='container-fluid'>
+  <a id='logo' href='/'>
+    <img src='/static/collected/images/logo.png' />
+  </a>
+  <h1>
+    <a id='header_banner' href='/'>
+      Political Memory
+    </a>
+  </h1>
+  <p class='organization'>
+    
+
+  </p>
+</div>
+<div id='nav' class='container-fluid'>
+  <ul class='nav'>
+    <li>
+      <a href='/legislature/representative/'>
+        Representatives
+      </a>
+    </li>
+    <li>
+      <a href='/legislature/group/country/'>
+        Countries
+      </a>
+    </li>
+    <li>
+      <a href='/legislature/group/chamber/'>
+        Chambers
+      </a>
+    </li>
+    <li>
+      <a href='/legislature/group/group/'>
+        Parties
+      </a>
+    </li>
+    <li>
+      <a href='/legislature/group/delegation/'>
+        Delegations
+      </a>
+    </li>
+    <li>
+      <a href='/legislature/group/committee/'>
+        Committees
+      </a>
+    </li>
+    <li>
+      <a href='/votes/dossier/'>
+        Dossiers
+
+      </a>
+    </li>
+  </ul>
+</div>
+
+    <div class="container-fluid main-container">
+      
+
+  
+
+    
+    
+
+<form class='filter-form' action='/legislature/representative/' method='get'>
+
+  <div class="form-group has-success"><label class="control-label" for="id_search">Search</label><input class="form-control" id="id_search" name="search" placeholder="Search" title="Filter" type="text" value="am" /><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_chamber">Chamber</label><select class="form-control" id="id_chamber" name="chamber" title="Filter">
+<option value="" selected="selected">---------</option>
+<option value="1">European Parliament [EP]</option>
+</select><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_country">Country</label><select class="form-control" id="id_country" name="country" title="Filter">
+<option value="" selected="selected">---------</option>
+<option value="106">Austria</option>
+<option value="98">Belgium</option>
+<option value="117">Bulgaria</option>
+<option value="184">Cyprus</option>
+<option value="88">Czech Republic</option>
+<option value="113">Denmark</option>
+<option value="126">Estonia</option>
+<option value="115">Finland</option>
+<option value="110">France</option>
+<option value="22">Germany</option>
+<option value="134">Greece</option>
+<option value="85">Hungary</option>
+<option value="182">Ireland</option>
+<option value="100">Italy</option>
+<option value="93">Latvia</option>
+<option value="145">Lithuania</option>
+<option value="112">Luxembourg</option>
+<option value="186">Malta</option>
+<option value="57">Netherlands</option>
+<option value="2">Poland</option>
+<option value="109">Portugal</option>
+<option value="19">Romania</option>
+<option value="169">Slovakia</option>
+<option value="120">Slovenia</option>
+<option value="91">Spain</option>
+<option value="140">Sweden</option>
+<option value="33">United Kingdom</option>
+</select><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_group">Party, committee or delegation</label><select class="form-control" data-autocomplete-light-function="select2" data-autocomplete-light-url="/legislature/autocomplete/group/" id="id_group" name="group" title="Filter">
+<option value="" selected="selected">---------</option>
+</select><span class="help-block">Filter
+</span></div>
+
+  <div class="form-group">
+    <button class='btn btn-primary' type='submit'>
+      <span class="glyphicon glyphicon-filter"></span> Filter
+    </button>
+  </div>
+
+  <div class="form-group">
+    <a class='btn btn-primary' href='?country=&amp;search=am&amp;group=&amp;chamber=&csv'>
+      <span class="glyphicon glyphicon-download-alt"></span> Download as CSV
+    </a>
+  </div>
+
+</form>
+
+
+  
+
+  <div class='pagination-block'>
+
+  <nav>
+    <ul class='pagination pagination-sm'>
+      
+      
+      
+    </ul>
+  </nav>
+  <div class='count'>
+    Number of results : 3
+
+    
+      <br />
+      Display :
+
+  current legislature only /
+  <a href='?active_only=0'>
+    all data
+  </a>
+
+
+
+    
+    <br />
+    Number of displayed results :
+    12
+    (
+    
+      <a href='?paginate_by=12'>
+        12
+      </a>
+      
+        /
+      
+    
+      <a href='?paginate_by=24'>
+        24
+      </a>
+      
+        /
+      
+    
+      <a href='?paginate_by=48'>
+        48
+      </a>
+      
+        /
+      
+    
+      <a href='?paginate_by=96'>
+        96
+      </a>
+      
+    
+    )
+    
+      <span class='grid-list-selector'>
+  <a href='?display=grid'>
+    <i class="fa fa-th"></i>
+  </a>
+  <a href='?display=list'>
+    <i class="fa fa-th-list"></i>
+
+  </a>
+</span>
+
+
+    
+  </div>
+</div>
+
+
+  
+
+  <div class='representative_grid'>
+    
+      <div class='representative_item active'>
+        <p class='photo'>
+          <a href='/legislature/representative/michael-cramer/'>
+            <img src='http://www.europarl.europa.eu/mepphoto/28238.jpg' width='80' />
+          </a>
+        </p>
+        <ul>
+          <li class='name'>
+            <a href='/legislature/representative/michael-cramer/'>
+              Michael CRAMER
+            </a>
+          </li>
+          <li class='chamber'>
+            <a href='/legislature/representative/chamber/European%20Parliament/'>
+              <span class="chamber-icon chamber-icon-ep"></span> European Parliament
+            </a>
+          </li>
+          <li class='country'>
+            <a href='/legislature/representative/country/Germany/'>
+              <span class="flag-icon flag-icon-de"></span> Germany
+            </a>
+          </li>
+          <li class='mandate'>
+            <a href='/legislature/representative/group/European%20Parliament/Group%20of%20the%20Greens/European%20Free%20Alliance/'>
+              <span class="group-icon group-icon-greensefa"></span> Greens/EFA
+            </a>
+          </li>
+          <li class='score'>
+            <span class="label label-success">15</span>
+
+          </li>
+        </ul>
+      </div>
+    
+      <div class='representative_item active'>
+        <p class='photo'>
+          <a href='/legislature/representative/tamas-deutsch/'>
+            <img src='http://www.europarl.europa.eu/mepphoto/96826.jpg' width='80' />
+          </a>
+        </p>
+        <ul>
+          <li class='name'>
+            <a href='/legislature/representative/tamas-deutsch/'>
+              Tamás DEUTSCH
+            </a>
+          </li>
+          <li class='chamber'>
+            <a href='/legislature/representative/chamber/European%20Parliament/'>
+              <span class="chamber-icon chamber-icon-ep"></span> European Parliament
+            </a>
+          </li>
+          <li class='country'>
+            <a href='/legislature/representative/country/Hungary/'>
+              <span class="flag-icon flag-icon-hu"></span> Hungary
+            </a>
+          </li>
+          <li class='mandate'>
+            <a href='/legislature/representative/group/European%20Parliament/Group%20of%20the%20European%20People&#39;s%20Party%20(Christian%20Democrats)/'>
+              <span class="group-icon group-icon-epp"></span> EPP
+            </a>
+          </li>
+          <li class='score'>
+            <span class="label label-danger">-15</span>
+
+          </li>
+        </ul>
+      </div>
+    
+      <div class='representative_item active'>
+        <p class='photo'>
+          <a href='/legislature/representative/ramon-tremosa-i-balcells/'>
+            <img src='http://www.europarl.europa.eu/mepphoto/97203.jpg' width='80' />
+          </a>
+        </p>
+        <ul>
+          <li class='name'>
+            <a href='/legislature/representative/ramon-tremosa-i-balcells/'>
+              Ramon TREMOSA i BALCELLS
+            </a>
+          </li>
+          <li class='chamber'>
+            <a href='/legislature/representative/chamber/European%20Parliament/'>
+              <span class="chamber-icon chamber-icon-ep"></span> European Parliament
+            </a>
+          </li>
+          <li class='country'>
+            <a href='/legislature/representative/country/Spain/'>
+              <span class="flag-icon flag-icon-es"></span> Spain
+            </a>
+          </li>
+          <li class='mandate'>
+            <a href='/legislature/representative/group/European%20Parliament/Group%20of%20the%20Alliance%20of%20Liberals%20and%20Democrats%20for%20Europe/'>
+              <span class="group-icon group-icon-alde"></span> ALDE
+            </a>
+          </li>
+          <li class='score'>
+            <span class="label label-success">15</span>
+
+          </li>
+        </ul>
+      </div>
+    
+  </div>
+
+
+  <div class='pagination-block'>
+
+  <nav>
+    <ul class='pagination pagination-sm'>
+      
+      
+      
+    </ul>
+  </nav>
+  <div class='count'>
+    Number of results : 3
+
+    
+      <br />
+      Display :
+
+  current legislature only /
+  <a href='?active_only=0'>
+    all data
+  </a>
+
+
+
+    
+    <br />
+    Number of displayed results :
+    12
+    (
+    
+      <a href='?paginate_by=12'>
+        12
+      </a>
+      
+        /
+      
+    
+      <a href='?paginate_by=24'>
+        24
+      </a>
+      
+        /
+      
+    
+      <a href='?paginate_by=48'>
+        48
+      </a>
+      
+        /
+      
+    
+      <a href='?paginate_by=96'>
+        96
+      </a>
+      
+    
+    )
+    
+      <span class='grid-list-selector'>
+  <a href='?display=grid'>
+    <i class="fa fa-th"></i>
+  </a>
+  <a href='?display=list'>
+    <i class="fa fa-th-list"></i>
+
+  </a>
+</span>
+
+
+    
+  </div>
+</div>
+
+
+
+    </div>
+    
+
+<div id='footer' class='container-fluid'>
+  <div class='license-links'>
+    
+      Memopol is
+      <a href='https://github.com/political-memory/political_memory'>free software</a>
+      released under the terms of the
+      <a href='http://www.gnu.org/licenses/agpl.html'>GNU aGPLV3+</a>
+    
+  </div>
+  <div class='footer-link'>
+    <a href='https://github.com/political-memory/political_memory/issues/new'>Report a bug</a>
+  </div>
+  <div class='footer-link'>
+    <a href='http://www.memopol.org/'>Blog</a>
+  </div>
+  <div class='footer-link'>
+    <a href='http://memopol.readthedocs.io/en/master/'>Documentation</a>
+  </div>
+  <div class='footer-separator'></div>
+  <div class='footer-link'>
+    Developed by
+    <a href='http://www.laquadrature.net/'>La Quadrature du Net</a>
+  </div>
+  <div class='footer-link'>
+    EP data provided by
+    <a href='http://parltrack.euwiki.org/'>Parltrack</a>
+  </div>
+</div>
+
+  </body>
+</html>
diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_filter_search.metadata b/memopol/tests/response_fixtures/RepresentativeListTest.test_filter_search.metadata
new file mode 100644
index 00000000..a2e0a692
--- /dev/null
+++ b/memopol/tests/response_fixtures/RepresentativeListTest.test_filter_search.metadata
@@ -0,0 +1,3 @@
+{
+    "status_code": 200
+}
\ No newline at end of file
diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_page1_paginateby12_active_displaylist.content b/memopol/tests/response_fixtures/RepresentativeListTest.test_page1_paginateby12_active_displaylist.content
index 61d44221..f962b8be 100644
--- a/memopol/tests/response_fixtures/RepresentativeListTest.test_page1_paginateby12_active_displaylist.content
+++ b/memopol/tests/response_fixtures/RepresentativeListTest.test_page1_paginateby12_active_displaylist.content
@@ -10,10 +10,19 @@
       - The Political Memory of </title>
     
     
-    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.c7d56d0a17c9.css" type="text/css" />
+    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.9ff29455e5ae.css" type="text/css" />
     <script type="text/javascript" src="/static/collected/libs/jquery/dist/jquery.js"></script>
 <script type="text/javascript" src="/static/collected/libs/bootstrap/dist/js/bootstrap.js"></script>
     
+
+  <link href="/static/collected/autocomplete_light/vendor/select2/dist/css/select2.css" type="text/css" media="all" rel="stylesheet" />
+<link href="/static/collected/autocomplete_light/select2.css" type="text/css" media="all" rel="stylesheet" />
+<script type="text/javascript" src="/static/collected/autocomplete_light/jquery.init.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/autocomplete.init.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/vendor/select2/dist/js/select2.full.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/select2.js"></script>
+
+
   </head>
   <body >
     <!-- -load memopol_tags cache -->
@@ -81,18 +90,69 @@
 
   
 
-    <form action='' method='get'>
-      <label for='search'>
-        Search
-      </label>
-      <input id='search' type='text' name='search' />
-      <input type='submit' value='Go' />
+    
+    
 
-    </form>
-    <a href='?csv'>
-      Download data as CSV
+<form class='filter-form' action='/legislature/representative/' method='get'>
+
+  <div class="form-group has-success"><label class="control-label" for="id_search">Search</label><input class="form-control" id="id_search" name="search" placeholder="Search" title="Filter" type="text" /><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_chamber">Chamber</label><select class="form-control" id="id_chamber" name="chamber" title="Filter">
+<option value="" selected="selected">---------</option>
+<option value="1">European Parliament [EP]</option>
+</select><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_country">Country</label><select class="form-control" id="id_country" name="country" title="Filter">
+<option value="" selected="selected">---------</option>
+<option value="106">Austria</option>
+<option value="98">Belgium</option>
+<option value="117">Bulgaria</option>
+<option value="184">Cyprus</option>
+<option value="88">Czech Republic</option>
+<option value="113">Denmark</option>
+<option value="126">Estonia</option>
+<option value="115">Finland</option>
+<option value="110">France</option>
+<option value="22">Germany</option>
+<option value="134">Greece</option>
+<option value="85">Hungary</option>
+<option value="182">Ireland</option>
+<option value="100">Italy</option>
+<option value="93">Latvia</option>
+<option value="145">Lithuania</option>
+<option value="112">Luxembourg</option>
+<option value="186">Malta</option>
+<option value="57">Netherlands</option>
+<option value="2">Poland</option>
+<option value="109">Portugal</option>
+<option value="19">Romania</option>
+<option value="169">Slovakia</option>
+<option value="120">Slovenia</option>
+<option value="91">Spain</option>
+<option value="140">Sweden</option>
+<option value="33">United Kingdom</option>
+</select><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_group">Party, committee or delegation</label><select class="form-control" data-autocomplete-light-function="select2" data-autocomplete-light-url="/legislature/autocomplete/group/" id="id_group" name="group" title="Filter">
+<option value="" selected="selected">---------</option>
+</select><span class="help-block">Filter
+</span></div>
+
+  <div class="form-group">
+    <button class='btn btn-primary' type='submit'>
+      <span class="glyphicon glyphicon-filter"></span> Filter
+    </button>
+  </div>
 
+  <div class="form-group">
+    <a class='btn btn-primary' href='?search=&amp;page=1&csv'>
+      <span class="glyphicon glyphicon-download-alt"></span> Download as CSV
     </a>
+  </div>
+
+</form>
+
+
   
 
   <div class='pagination-block'>
diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_page1_paginateby12_all_displaylist.content b/memopol/tests/response_fixtures/RepresentativeListTest.test_page1_paginateby12_all_displaylist.content
index 1c99e4ea..16f37906 100644
--- a/memopol/tests/response_fixtures/RepresentativeListTest.test_page1_paginateby12_all_displaylist.content
+++ b/memopol/tests/response_fixtures/RepresentativeListTest.test_page1_paginateby12_all_displaylist.content
@@ -10,10 +10,19 @@
       - The Political Memory of </title>
     
     
-    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.c7d56d0a17c9.css" type="text/css" />
+    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.9ff29455e5ae.css" type="text/css" />
     <script type="text/javascript" src="/static/collected/libs/jquery/dist/jquery.js"></script>
 <script type="text/javascript" src="/static/collected/libs/bootstrap/dist/js/bootstrap.js"></script>
     
+
+  <link href="/static/collected/autocomplete_light/vendor/select2/dist/css/select2.css" type="text/css" media="all" rel="stylesheet" />
+<link href="/static/collected/autocomplete_light/select2.css" type="text/css" media="all" rel="stylesheet" />
+<script type="text/javascript" src="/static/collected/autocomplete_light/jquery.init.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/autocomplete.init.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/vendor/select2/dist/js/select2.full.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/select2.js"></script>
+
+
   </head>
   <body >
     <!-- -load memopol_tags cache -->
@@ -81,18 +90,69 @@
 
   
 
-    <form action='' method='get'>
-      <label for='search'>
-        Search
-      </label>
-      <input id='search' type='text' name='search' />
-      <input type='submit' value='Go' />
+    
+    
 
-    </form>
-    <a href='?csv'>
-      Download data as CSV
+<form class='filter-form' action='/legislature/representative/' method='get'>
+
+  <div class="form-group has-success"><label class="control-label" for="id_search">Search</label><input class="form-control" id="id_search" name="search" placeholder="Search" title="Filter" type="text" /><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_chamber">Chamber</label><select class="form-control" id="id_chamber" name="chamber" title="Filter">
+<option value="" selected="selected">---------</option>
+<option value="1">European Parliament [EP]</option>
+</select><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_country">Country</label><select class="form-control" id="id_country" name="country" title="Filter">
+<option value="" selected="selected">---------</option>
+<option value="106">Austria</option>
+<option value="98">Belgium</option>
+<option value="117">Bulgaria</option>
+<option value="184">Cyprus</option>
+<option value="88">Czech Republic</option>
+<option value="113">Denmark</option>
+<option value="126">Estonia</option>
+<option value="115">Finland</option>
+<option value="110">France</option>
+<option value="22">Germany</option>
+<option value="134">Greece</option>
+<option value="85">Hungary</option>
+<option value="182">Ireland</option>
+<option value="100">Italy</option>
+<option value="93">Latvia</option>
+<option value="145">Lithuania</option>
+<option value="112">Luxembourg</option>
+<option value="186">Malta</option>
+<option value="57">Netherlands</option>
+<option value="2">Poland</option>
+<option value="109">Portugal</option>
+<option value="19">Romania</option>
+<option value="169">Slovakia</option>
+<option value="120">Slovenia</option>
+<option value="91">Spain</option>
+<option value="140">Sweden</option>
+<option value="33">United Kingdom</option>
+</select><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_group">Party, committee or delegation</label><select class="form-control" data-autocomplete-light-function="select2" data-autocomplete-light-url="/legislature/autocomplete/group/" id="id_group" name="group" title="Filter">
+<option value="" selected="selected">---------</option>
+</select><span class="help-block">Filter
+</span></div>
+
+  <div class="form-group">
+    <button class='btn btn-primary' type='submit'>
+      <span class="glyphicon glyphicon-filter"></span> Filter
+    </button>
+  </div>
 
+  <div class="form-group">
+    <a class='btn btn-primary' href='?search=&amp;page=1&csv'>
+      <span class="glyphicon glyphicon-download-alt"></span> Download as CSV
     </a>
+  </div>
+
+</form>
+
+
   
 
   <div class='pagination-block'>
diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_page1_paginateby12_displaylist_searchjoly.content b/memopol/tests/response_fixtures/RepresentativeListTest.test_page1_paginateby12_displaylist_searchjoly.content
index 09e3ad59..fbc31b93 100644
--- a/memopol/tests/response_fixtures/RepresentativeListTest.test_page1_paginateby12_displaylist_searchjoly.content
+++ b/memopol/tests/response_fixtures/RepresentativeListTest.test_page1_paginateby12_displaylist_searchjoly.content
@@ -10,10 +10,19 @@
       - The Political Memory of </title>
     
     
-    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.c7d56d0a17c9.css" type="text/css" />
+    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.9ff29455e5ae.css" type="text/css" />
     <script type="text/javascript" src="/static/collected/libs/jquery/dist/jquery.js"></script>
 <script type="text/javascript" src="/static/collected/libs/bootstrap/dist/js/bootstrap.js"></script>
     
+
+  <link href="/static/collected/autocomplete_light/vendor/select2/dist/css/select2.css" type="text/css" media="all" rel="stylesheet" />
+<link href="/static/collected/autocomplete_light/select2.css" type="text/css" media="all" rel="stylesheet" />
+<script type="text/javascript" src="/static/collected/autocomplete_light/jquery.init.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/autocomplete.init.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/vendor/select2/dist/js/select2.full.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/select2.js"></script>
+
+
   </head>
   <body >
     <!-- -load memopol_tags cache -->
@@ -81,18 +90,69 @@
 
   
 
-    <form action='' method='get'>
-      <label for='search'>
-        Search
-      </label>
-      <input id='search' type='text' name='search' />
-      <input type='submit' value='Go' />
+    
+    
 
-    </form>
-    <a href='?search=joly&csv'>
-      Download data as CSV
+<form class='filter-form' action='/legislature/representative/' method='get'>
+
+  <div class="form-group has-success"><label class="control-label" for="id_search">Search</label><input class="form-control" id="id_search" name="search" placeholder="Search" title="Filter" type="text" value="joly" /><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_chamber">Chamber</label><select class="form-control" id="id_chamber" name="chamber" title="Filter">
+<option value="" selected="selected">---------</option>
+<option value="1">European Parliament [EP]</option>
+</select><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_country">Country</label><select class="form-control" id="id_country" name="country" title="Filter">
+<option value="" selected="selected">---------</option>
+<option value="106">Austria</option>
+<option value="98">Belgium</option>
+<option value="117">Bulgaria</option>
+<option value="184">Cyprus</option>
+<option value="88">Czech Republic</option>
+<option value="113">Denmark</option>
+<option value="126">Estonia</option>
+<option value="115">Finland</option>
+<option value="110">France</option>
+<option value="22">Germany</option>
+<option value="134">Greece</option>
+<option value="85">Hungary</option>
+<option value="182">Ireland</option>
+<option value="100">Italy</option>
+<option value="93">Latvia</option>
+<option value="145">Lithuania</option>
+<option value="112">Luxembourg</option>
+<option value="186">Malta</option>
+<option value="57">Netherlands</option>
+<option value="2">Poland</option>
+<option value="109">Portugal</option>
+<option value="19">Romania</option>
+<option value="169">Slovakia</option>
+<option value="120">Slovenia</option>
+<option value="91">Spain</option>
+<option value="140">Sweden</option>
+<option value="33">United Kingdom</option>
+</select><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_group">Party, committee or delegation</label><select class="form-control" data-autocomplete-light-function="select2" data-autocomplete-light-url="/legislature/autocomplete/group/" id="id_group" name="group" title="Filter">
+<option value="" selected="selected">---------</option>
+</select><span class="help-block">Filter
+</span></div>
+
+  <div class="form-group">
+    <button class='btn btn-primary' type='submit'>
+      <span class="glyphicon glyphicon-filter"></span> Filter
+    </button>
+  </div>
 
+  <div class="form-group">
+    <a class='btn btn-primary' href='?search=joly&amp;page=1&csv'>
+      <span class="glyphicon glyphicon-download-alt"></span> Download as CSV
     </a>
+  </div>
+
+</form>
+
+
   
 
   <div class='pagination-block'>
diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_page1_paginateby24_active_displaygrid.content b/memopol/tests/response_fixtures/RepresentativeListTest.test_page1_paginateby24_active_displaygrid.content
index 290d214d..52043d3e 100644
--- a/memopol/tests/response_fixtures/RepresentativeListTest.test_page1_paginateby24_active_displaygrid.content
+++ b/memopol/tests/response_fixtures/RepresentativeListTest.test_page1_paginateby24_active_displaygrid.content
@@ -10,10 +10,19 @@
       - The Political Memory of </title>
     
     
-    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.c7d56d0a17c9.css" type="text/css" />
+    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.9ff29455e5ae.css" type="text/css" />
     <script type="text/javascript" src="/static/collected/libs/jquery/dist/jquery.js"></script>
 <script type="text/javascript" src="/static/collected/libs/bootstrap/dist/js/bootstrap.js"></script>
     
+
+  <link href="/static/collected/autocomplete_light/vendor/select2/dist/css/select2.css" type="text/css" media="all" rel="stylesheet" />
+<link href="/static/collected/autocomplete_light/select2.css" type="text/css" media="all" rel="stylesheet" />
+<script type="text/javascript" src="/static/collected/autocomplete_light/jquery.init.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/autocomplete.init.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/vendor/select2/dist/js/select2.full.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/select2.js"></script>
+
+
   </head>
   <body >
     <!-- -load memopol_tags cache -->
@@ -81,18 +90,69 @@
 
   
 
-    <form action='' method='get'>
-      <label for='search'>
-        Search
-      </label>
-      <input id='search' type='text' name='search' />
-      <input type='submit' value='Go' />
+    
+    
 
-    </form>
-    <a href='?csv'>
-      Download data as CSV
+<form class='filter-form' action='/legislature/representative/' method='get'>
+
+  <div class="form-group has-success"><label class="control-label" for="id_search">Search</label><input class="form-control" id="id_search" name="search" placeholder="Search" title="Filter" type="text" /><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_chamber">Chamber</label><select class="form-control" id="id_chamber" name="chamber" title="Filter">
+<option value="" selected="selected">---------</option>
+<option value="1">European Parliament [EP]</option>
+</select><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_country">Country</label><select class="form-control" id="id_country" name="country" title="Filter">
+<option value="" selected="selected">---------</option>
+<option value="106">Austria</option>
+<option value="98">Belgium</option>
+<option value="117">Bulgaria</option>
+<option value="184">Cyprus</option>
+<option value="88">Czech Republic</option>
+<option value="113">Denmark</option>
+<option value="126">Estonia</option>
+<option value="115">Finland</option>
+<option value="110">France</option>
+<option value="22">Germany</option>
+<option value="134">Greece</option>
+<option value="85">Hungary</option>
+<option value="182">Ireland</option>
+<option value="100">Italy</option>
+<option value="93">Latvia</option>
+<option value="145">Lithuania</option>
+<option value="112">Luxembourg</option>
+<option value="186">Malta</option>
+<option value="57">Netherlands</option>
+<option value="2">Poland</option>
+<option value="109">Portugal</option>
+<option value="19">Romania</option>
+<option value="169">Slovakia</option>
+<option value="120">Slovenia</option>
+<option value="91">Spain</option>
+<option value="140">Sweden</option>
+<option value="33">United Kingdom</option>
+</select><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_group">Party, committee or delegation</label><select class="form-control" data-autocomplete-light-function="select2" data-autocomplete-light-url="/legislature/autocomplete/group/" id="id_group" name="group" title="Filter">
+<option value="" selected="selected">---------</option>
+</select><span class="help-block">Filter
+</span></div>
+
+  <div class="form-group">
+    <button class='btn btn-primary' type='submit'>
+      <span class="glyphicon glyphicon-filter"></span> Filter
+    </button>
+  </div>
 
+  <div class="form-group">
+    <a class='btn btn-primary' href='?search=&amp;page=1&csv'>
+      <span class="glyphicon glyphicon-download-alt"></span> Download as CSV
     </a>
+  </div>
+
+</form>
+
+
   
 
   <div class='pagination-block'>
diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_page1_paginateby24_all_displaygrid.content b/memopol/tests/response_fixtures/RepresentativeListTest.test_page1_paginateby24_all_displaygrid.content
index aba16914..c19867a7 100644
--- a/memopol/tests/response_fixtures/RepresentativeListTest.test_page1_paginateby24_all_displaygrid.content
+++ b/memopol/tests/response_fixtures/RepresentativeListTest.test_page1_paginateby24_all_displaygrid.content
@@ -10,10 +10,19 @@
       - The Political Memory of </title>
     
     
-    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.c7d56d0a17c9.css" type="text/css" />
+    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.9ff29455e5ae.css" type="text/css" />
     <script type="text/javascript" src="/static/collected/libs/jquery/dist/jquery.js"></script>
 <script type="text/javascript" src="/static/collected/libs/bootstrap/dist/js/bootstrap.js"></script>
     
+
+  <link href="/static/collected/autocomplete_light/vendor/select2/dist/css/select2.css" type="text/css" media="all" rel="stylesheet" />
+<link href="/static/collected/autocomplete_light/select2.css" type="text/css" media="all" rel="stylesheet" />
+<script type="text/javascript" src="/static/collected/autocomplete_light/jquery.init.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/autocomplete.init.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/vendor/select2/dist/js/select2.full.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/select2.js"></script>
+
+
   </head>
   <body >
     <!-- -load memopol_tags cache -->
@@ -81,18 +90,69 @@
 
   
 
-    <form action='' method='get'>
-      <label for='search'>
-        Search
-      </label>
-      <input id='search' type='text' name='search' />
-      <input type='submit' value='Go' />
+    
+    
 
-    </form>
-    <a href='?csv'>
-      Download data as CSV
+<form class='filter-form' action='/legislature/representative/' method='get'>
+
+  <div class="form-group has-success"><label class="control-label" for="id_search">Search</label><input class="form-control" id="id_search" name="search" placeholder="Search" title="Filter" type="text" /><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_chamber">Chamber</label><select class="form-control" id="id_chamber" name="chamber" title="Filter">
+<option value="" selected="selected">---------</option>
+<option value="1">European Parliament [EP]</option>
+</select><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_country">Country</label><select class="form-control" id="id_country" name="country" title="Filter">
+<option value="" selected="selected">---------</option>
+<option value="106">Austria</option>
+<option value="98">Belgium</option>
+<option value="117">Bulgaria</option>
+<option value="184">Cyprus</option>
+<option value="88">Czech Republic</option>
+<option value="113">Denmark</option>
+<option value="126">Estonia</option>
+<option value="115">Finland</option>
+<option value="110">France</option>
+<option value="22">Germany</option>
+<option value="134">Greece</option>
+<option value="85">Hungary</option>
+<option value="182">Ireland</option>
+<option value="100">Italy</option>
+<option value="93">Latvia</option>
+<option value="145">Lithuania</option>
+<option value="112">Luxembourg</option>
+<option value="186">Malta</option>
+<option value="57">Netherlands</option>
+<option value="2">Poland</option>
+<option value="109">Portugal</option>
+<option value="19">Romania</option>
+<option value="169">Slovakia</option>
+<option value="120">Slovenia</option>
+<option value="91">Spain</option>
+<option value="140">Sweden</option>
+<option value="33">United Kingdom</option>
+</select><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_group">Party, committee or delegation</label><select class="form-control" data-autocomplete-light-function="select2" data-autocomplete-light-url="/legislature/autocomplete/group/" id="id_group" name="group" title="Filter">
+<option value="" selected="selected">---------</option>
+</select><span class="help-block">Filter
+</span></div>
+
+  <div class="form-group">
+    <button class='btn btn-primary' type='submit'>
+      <span class="glyphicon glyphicon-filter"></span> Filter
+    </button>
+  </div>
 
+  <div class="form-group">
+    <a class='btn btn-primary' href='?search=&amp;page=1&csv'>
+      <span class="glyphicon glyphicon-download-alt"></span> Download as CSV
     </a>
+  </div>
+
+</form>
+
+
   
 
   <div class='pagination-block'>
diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_page2_paginateby12_displaylist.content b/memopol/tests/response_fixtures/RepresentativeListTest.test_page2_paginateby12_displaylist.content
index 3241af3d..c1d3c611 100644
--- a/memopol/tests/response_fixtures/RepresentativeListTest.test_page2_paginateby12_displaylist.content
+++ b/memopol/tests/response_fixtures/RepresentativeListTest.test_page2_paginateby12_displaylist.content
@@ -10,10 +10,19 @@
       - The Political Memory of </title>
     
     
-    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.c7d56d0a17c9.css" type="text/css" />
+    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.9ff29455e5ae.css" type="text/css" />
     <script type="text/javascript" src="/static/collected/libs/jquery/dist/jquery.js"></script>
 <script type="text/javascript" src="/static/collected/libs/bootstrap/dist/js/bootstrap.js"></script>
     
+
+  <link href="/static/collected/autocomplete_light/vendor/select2/dist/css/select2.css" type="text/css" media="all" rel="stylesheet" />
+<link href="/static/collected/autocomplete_light/select2.css" type="text/css" media="all" rel="stylesheet" />
+<script type="text/javascript" src="/static/collected/autocomplete_light/jquery.init.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/autocomplete.init.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/vendor/select2/dist/js/select2.full.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/select2.js"></script>
+
+
   </head>
   <body >
     <!-- -load memopol_tags cache -->
@@ -81,18 +90,69 @@
 
   
 
-    <form action='' method='get'>
-      <label for='search'>
-        Search
-      </label>
-      <input id='search' type='text' name='search' />
-      <input type='submit' value='Go' />
+    
+    
 
-    </form>
-    <a href='?csv'>
-      Download data as CSV
+<form class='filter-form' action='/legislature/representative/' method='get'>
+
+  <div class="form-group has-success"><label class="control-label" for="id_search">Search</label><input class="form-control" id="id_search" name="search" placeholder="Search" title="Filter" type="text" /><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_chamber">Chamber</label><select class="form-control" id="id_chamber" name="chamber" title="Filter">
+<option value="" selected="selected">---------</option>
+<option value="1">European Parliament [EP]</option>
+</select><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_country">Country</label><select class="form-control" id="id_country" name="country" title="Filter">
+<option value="" selected="selected">---------</option>
+<option value="106">Austria</option>
+<option value="98">Belgium</option>
+<option value="117">Bulgaria</option>
+<option value="184">Cyprus</option>
+<option value="88">Czech Republic</option>
+<option value="113">Denmark</option>
+<option value="126">Estonia</option>
+<option value="115">Finland</option>
+<option value="110">France</option>
+<option value="22">Germany</option>
+<option value="134">Greece</option>
+<option value="85">Hungary</option>
+<option value="182">Ireland</option>
+<option value="100">Italy</option>
+<option value="93">Latvia</option>
+<option value="145">Lithuania</option>
+<option value="112">Luxembourg</option>
+<option value="186">Malta</option>
+<option value="57">Netherlands</option>
+<option value="2">Poland</option>
+<option value="109">Portugal</option>
+<option value="19">Romania</option>
+<option value="169">Slovakia</option>
+<option value="120">Slovenia</option>
+<option value="91">Spain</option>
+<option value="140">Sweden</option>
+<option value="33">United Kingdom</option>
+</select><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_group">Party, committee or delegation</label><select class="form-control" data-autocomplete-light-function="select2" data-autocomplete-light-url="/legislature/autocomplete/group/" id="id_group" name="group" title="Filter">
+<option value="" selected="selected">---------</option>
+</select><span class="help-block">Filter
+</span></div>
+
+  <div class="form-group">
+    <button class='btn btn-primary' type='submit'>
+      <span class="glyphicon glyphicon-filter"></span> Filter
+    </button>
+  </div>
 
+  <div class="form-group">
+    <a class='btn btn-primary' href='?search=&amp;page=2&csv'>
+      <span class="glyphicon glyphicon-download-alt"></span> Download as CSV
     </a>
+  </div>
+
+</form>
+
+
   
 
   <div class='pagination-block'>
diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_page2_paginateby24_displaylist.content b/memopol/tests/response_fixtures/RepresentativeListTest.test_page2_paginateby24_displaylist.content
index 46dbdc6b..f345a902 100644
--- a/memopol/tests/response_fixtures/RepresentativeListTest.test_page2_paginateby24_displaylist.content
+++ b/memopol/tests/response_fixtures/RepresentativeListTest.test_page2_paginateby24_displaylist.content
@@ -10,10 +10,19 @@
       - The Political Memory of </title>
     
     
-    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.c7d56d0a17c9.css" type="text/css" />
+    <link rel="stylesheet" href="/static/collected/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/fontawesome/css/font-awesome.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/libs/flag-icon-css/css/flag-icon.min.css" type="text/css" /><link rel="stylesheet" href="/static/collected/CACHE/css/base.9ff29455e5ae.css" type="text/css" />
     <script type="text/javascript" src="/static/collected/libs/jquery/dist/jquery.js"></script>
 <script type="text/javascript" src="/static/collected/libs/bootstrap/dist/js/bootstrap.js"></script>
     
+
+  <link href="/static/collected/autocomplete_light/vendor/select2/dist/css/select2.css" type="text/css" media="all" rel="stylesheet" />
+<link href="/static/collected/autocomplete_light/select2.css" type="text/css" media="all" rel="stylesheet" />
+<script type="text/javascript" src="/static/collected/autocomplete_light/jquery.init.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/autocomplete.init.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/vendor/select2/dist/js/select2.full.js"></script>
+<script type="text/javascript" src="/static/collected/autocomplete_light/select2.js"></script>
+
+
   </head>
   <body >
     <!-- -load memopol_tags cache -->
@@ -81,18 +90,69 @@
 
   
 
-    <form action='' method='get'>
-      <label for='search'>
-        Search
-      </label>
-      <input id='search' type='text' name='search' />
-      <input type='submit' value='Go' />
+    
+    
 
-    </form>
-    <a href='?csv'>
-      Download data as CSV
+<form class='filter-form' action='/legislature/representative/' method='get'>
+
+  <div class="form-group has-success"><label class="control-label" for="id_search">Search</label><input class="form-control" id="id_search" name="search" placeholder="Search" title="Filter" type="text" /><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_chamber">Chamber</label><select class="form-control" id="id_chamber" name="chamber" title="Filter">
+<option value="" selected="selected">---------</option>
+<option value="1">European Parliament [EP]</option>
+</select><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_country">Country</label><select class="form-control" id="id_country" name="country" title="Filter">
+<option value="" selected="selected">---------</option>
+<option value="106">Austria</option>
+<option value="98">Belgium</option>
+<option value="117">Bulgaria</option>
+<option value="184">Cyprus</option>
+<option value="88">Czech Republic</option>
+<option value="113">Denmark</option>
+<option value="126">Estonia</option>
+<option value="115">Finland</option>
+<option value="110">France</option>
+<option value="22">Germany</option>
+<option value="134">Greece</option>
+<option value="85">Hungary</option>
+<option value="182">Ireland</option>
+<option value="100">Italy</option>
+<option value="93">Latvia</option>
+<option value="145">Lithuania</option>
+<option value="112">Luxembourg</option>
+<option value="186">Malta</option>
+<option value="57">Netherlands</option>
+<option value="2">Poland</option>
+<option value="109">Portugal</option>
+<option value="19">Romania</option>
+<option value="169">Slovakia</option>
+<option value="120">Slovenia</option>
+<option value="91">Spain</option>
+<option value="140">Sweden</option>
+<option value="33">United Kingdom</option>
+</select><span class="help-block">Filter
+</span></div>
+<div class="form-group has-success"><label class="control-label" for="id_group">Party, committee or delegation</label><select class="form-control" data-autocomplete-light-function="select2" data-autocomplete-light-url="/legislature/autocomplete/group/" id="id_group" name="group" title="Filter">
+<option value="" selected="selected">---------</option>
+</select><span class="help-block">Filter
+</span></div>
+
+  <div class="form-group">
+    <button class='btn btn-primary' type='submit'>
+      <span class="glyphicon glyphicon-filter"></span> Filter
+    </button>
+  </div>
 
+  <div class="form-group">
+    <a class='btn btn-primary' href='?search=&amp;page=2&csv'>
+      <span class="glyphicon glyphicon-download-alt"></span> Download as CSV
     </a>
+  </div>
+
+</form>
+
+
   
 
   <div class='pagination-block'>
diff --git a/memopol/tests/test_representatives_list.py b/memopol/tests/test_representatives_list.py
index 6bbe9ea7..9f5748c9 100644
--- a/memopol/tests/test_representatives_list.py
+++ b/memopol/tests/test_representatives_list.py
@@ -39,9 +39,11 @@ class RepresentativeListTest(UrlGetTestMixin, TestCase):
         self.client.get('%s&paginate_by=%s&display=%s&active_only=%s' %
             (url, paginate_by, display, active_only))
 
-        with self.assertNumQueries(3):
+        with self.assertNumQueries(5):
             """
             - A count for pagination
+            - One query for chambers (filters)
+            - One query for countries (filters)
             - One query for representative + score
             - One query for mandates (including country + main_mandate)
             """
-- 
GitLab