def browser(self, browser, app): TestApp(app) browser.visit(browser.app_url + 'r/mercator/') assert wait(lambda: browser.find_link_by_text('filters')) browser.find_link_by_text('filters').first.click() assert wait(lambda: browser.find_by_css('.moving-column-sidebar').visible) return browser
def test_resubmitting_proposal(self, browser_with_proposal): browser = browser_with_proposal login_god(browser) select_proposal(browser) assert wait(lambda: browser.find_link_by_text("edit")) browser.find_link_by_text("edit").first.click() assert wait(lambda: browser.find_by_name('accept-disclaimer')) browser.find_by_name('accept-disclaimer').first.check() browser.find_by_css('input[type="submit"]').first.click() assert success(browser)
def select_proposal(browser): """First click on proposal title in proposal list column and wait until proposal is properly loaded in content column. In order to verify proper proposal loading, check for the detail's commentary link to contain the correct proposal title.""" proposal_list = browser.find_by_css(".moving-column-body").\ first.find_by_tag("ol").first proposal_title = proposal_list.find_by_css( '.proposal-list-item-title').first assert wait(lambda: proposal_title.html) proposal_title.click() link = browser.find_by_css(".moving-column")[1].\ find_by_css(".section-jump-cover h1 a") assert wait(lambda: proposal_title.html in link["href"])
def test_filter_combinations(self, browser, locations, requested_fundings, proposals): for location in locations: location.find_by_css('a').first.click() for requested_funding in requested_fundings: requested_funding.find_by_css('a').first.click() assert wait(lambda: is_filtered(browser, proposals, location=location, requested_funding=requested_funding))
def test_unfilter_requested_funding(self, browser, requested_fundings, proposals): requested_fundings[-1].find_by_css('a').first.click() assert wait(lambda: is_filtered(browser, proposals))
def test_filter_requested_funding(self, browser, requested_fundings, proposals): for requested_funding in requested_fundings: requested_funding.find_by_css('a').first.click() assert wait(lambda: is_filtered(browser, proposals, requested_funding=requested_funding))
def test_unfilter_location(self, browser, locations, proposals): locations[-1].find_by_css('a').first.click() assert wait(lambda: is_filtered(browser, proposals))
def test_filter_location(self, browser, locations, proposals): for location in locations: location.find_by_css('a').first.click() assert wait(lambda: is_filtered(browser, proposals, location=location))
def success(browser): return wait(lambda: browser.url.endswith("/r/mercator/"))
def test_submitting_creates_a_new_proposal(self, browser, app): browser.find_by_css('input[type="submit"]').first.click() assert wait(lambda: browser.url.endswith("/r/mercator/"), max_steps=20) browser.find_link_by_text(TITLE).first.click() assert wait(lambda: not browser.url.endswith("/r/mercator/"))