Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/webapp/webapp/features/terrain.py
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/webapp/features/terrain.py')
-rw-r--r--webapp/webapp/features/terrain.py36
1 files changed, 34 insertions, 2 deletions
diff --git a/webapp/webapp/features/terrain.py b/webapp/webapp/features/terrain.py
index ed52bf6..e3caeb2 100644
--- a/webapp/webapp/features/terrain.py
+++ b/webapp/webapp/features/terrain.py
@@ -1,3 +1,5 @@
+import os
+
from lettuce import world, before, after
from splinter import Browser
from fabric.api import local
@@ -5,12 +7,16 @@ from fabric.context_managers import hide
from django.conf import settings
from django.core import management
-from utils.test import remove_option_images_dir
+from utils.test import (remove_option_images_dir, empty_results_dir,
+ create_results_dir)
@before.all
def set_browser():
world.browser = Browser('phantomjs')
+ world.fixtures_path = os.path.join(settings.PROJECT_ROOT,
+ 'features/fixtures')
+ create_results_dir()
@after.all
@@ -34,14 +40,40 @@ def load_fixture(fixture_name):
verbosity=0)
+def load_mongo_fixture(fixture_name, collection):
+ pollster_fixture_dir = os.path.join(settings.PROJECT_ROOT,
+ '../pollster/fixtures')
+ polls_fixture_dir = os.path.join(settings.PROJECT_ROOT,
+ '../polls/fixtures')
+ fixtures = {
+ 'pollsters': pollster_fixture_dir,
+ 'polls': polls_fixture_dir,
+ }
+ fixture_dir = fixtures[collection]
+ fixture_path = os.path.join(fixture_dir, fixture_name + ".json")
+ kwargs = {
+ 'db': settings.MONGO_SETTINGS['NAME'],
+ 'collection': collection,
+ 'fixture': fixture_path,
+ }
+ cmd = "mongoimport -d {db} -c {collection} --file {fixture} --jsonArray"
+ local(cmd.format(**kwargs))
+
+
@before.each_feature
def before_each_feature(feature):
"""This is the main lettuce hook "@before.each_feature"."""
drop_mongo()
drop_sqlite()
+ empty_results_dir()
if feature.name in ("Researcher adds images to options",
- "Researcher can't modify poll's structure"):
+ "Researcher can't modify poll's structure",
+ "Upload .poll_result files"):
load_fixture("generic_researcher")
+ load_fixture("generic_pollster")
+ load_mongo_fixture("mongo_generic_pollster", "pollsters")
+ load_mongo_fixture("closed_poll", "polls")
+ load_mongo_fixture("poll", "polls")
@after.each_feature