OLD | NEW |
(Empty) | |
| 1 from selenium import webdriver |
| 2 import pytest |
| 3 import config |
| 4 import utils |
| 5 from whoosh.query import Term, And |
| 6 from flask import g as flaskg |
| 7 from MoinMoin.items import Item |
| 8 from MoinMoin.constants.keys import ITEMTYPE, CLOSED, LATEST_REVS, ITEMID, ACTIO
N_SAVE |
| 9 from MoinMoin.constants.itemtypes import ITEMTYPE_TICKET |
| 10 |
| 11 @pytest.fixture |
| 12 def driver(request): |
| 13 """A driver for a web browser.""" |
| 14 driver = webdriver.Firefox() |
| 15 request.addfinalizer(driver.quit) |
| 16 return driver |
| 17 |
| 18 def create_ticket(): |
| 19 """Creates a new wiki ticket""" |
| 20 |
| 21 meta = { |
| 22 u'contenttype': u'text/x.moin.wiki;charset=utf-8', |
| 23 u'itemtype': ITEMTYPE_TICKET, |
| 24 u'tags': [], |
| 25 u'superseded_by': u'', |
| 26 u'depends_on': u'', |
| 27 u'summary': u'TestTicket Summary' + utils.generate_random_word(5), |
| 28 u'priority': None, |
| 29 u'difficulty': None, |
| 30 u'closed': False, |
| 31 u'assigned_to': u'', |
| 32 u'effort': None, |
| 33 u'severity': None |
| 34 } |
| 35 item_name = utils.generate_random_name(u'TestTicket', 15) |
| 36 item = Item.create(name=item_name, itemtype=ITEMTYPE_TICKET, contenttype=u't
ext/x.moin.wiki;charset=utf-8') |
| 37 item._save(meta=meta) |
| 38 |
| 39 |
| 40 class TestTicketsview: |
| 41 """Functional Tests for +tickets view""" |
| 42 |
| 43 def test_tickets(self, driver): |
| 44 """Checks for the status of the tickets being shown""" |
| 45 base_url = config.BASE_URL |
| 46 closed_ids = [] |
| 47 |
| 48 create_ticket() |
| 49 |
| 50 driver.get(base_url + '+tickets') |
| 51 driver.find_element_by_css_selector('#closed').click() |
| 52 for tr in driver.find_elements_by_xpath('//table[@id="ticket-list"]//tr'
): |
| 53 tds = tr.find_elements_by_tag_name('td') |
| 54 if tds: |
| 55 closed_ids.append(tds[0].text) |
| 56 |
| 57 with flaskg.storage.indexer.ix[LATEST_REVS].searcher() as searcher: |
| 58 terms = [Term(ITEMTYPE, ITEMTYPE_TICKET)] |
| 59 terms.append(Term(CLOSED, True)) |
| 60 q = And(terms) |
| 61 results = searcher.search(q, limit=None) |
| 62 original_ids = [] |
| 63 for result in results: |
| 64 original_ids.append(result[ITEMID]) |
| 65 assert original_ids == closed_ids |
OLD | NEW |