from lettuce import world, before, after from splinter import Browser from fabric.api import local from fabric.context_managers import hide from django.conf import settings from django.core import management from utils.test import remove_option_images_dir @before.all def set_browser(): world.browser = Browser('phantomjs') @after.all def exit_browser(total): world.browser.quit() def drop_mongo(): db = settings.MONGO_SETTINGS['NAME'] with hide('running'): cmd = "mongo {mongo_db} --eval 'db.dropDatabase()' > /dev/null" local(cmd.format(mongo_db=db)) def drop_sqlite(): management.call_command('flush', interactive=False, verbosity=0) def load_fixture(fixture_name): management.call_command('loaddata', fixture_name, interactive=False, verbosity=0) @before.each_feature def before_each_feature(feature): drop_mongo() drop_sqlite() if feature.name == "Researcher adds images to options": load_fixture("generic_researcher") @after.each_feature def after_each_feature(feature): remove_option_images_dir()