1# -*- coding: utf-8 -*-
2
3from time import sleep
4
5url = "http://localhost:11111/"
6
7
8def test_index(browser):
9    # Visit URL
10    browser.visit(url)
11    assert browser.is_text_present('about')
12
13
14def test_404(browser):
15    # Visit URL
16    browser.visit(url + 'missing_link')
17    assert browser.is_text_present('Page not found')
18
19
20def test_about(browser):
21    browser.visit(url)
22    browser.click_link_by_text('about')
23    assert browser.is_text_present('Why use searx?')
24
25
26def test_preferences(browser):
27    browser.visit(url)
28    browser.click_link_by_text('preferences')
29    assert browser.is_text_present('Preferences')
30    assert browser.is_text_present('Cookies')
31
32    assert browser.is_element_present_by_xpath('//label[@for="checkbox_dummy"]')
33
34
35def test_preferences_engine_select(browser):
36    browser.visit(url)
37    browser.click_link_by_text('preferences')
38
39    assert browser.is_element_present_by_xpath('//a[@href="#tab_engine"]')
40    browser.find_by_xpath('//a[@href="#tab_engine"]').first.click()
41
42    assert not browser.find_by_xpath('//input[@id="engine_general_dummy__general"]').first.checked
43    browser.find_by_xpath('//label[@for="engine_general_dummy__general"]').first.check()
44    browser.find_by_xpath('//input[@value="save"]').first.click()
45
46    # waiting for the redirect - without this the test is flaky..
47    sleep(1)
48
49    browser.visit(url)
50    browser.click_link_by_text('preferences')
51    browser.find_by_xpath('//a[@href="#tab_engine"]').first.click()
52
53    assert browser.find_by_xpath('//input[@id="engine_general_dummy__general"]').first.checked
54
55
56def test_preferences_locale(browser):
57    browser.visit(url)
58    browser.click_link_by_text('preferences')
59
60    browser.select('locale', 'hu')
61    browser.find_by_xpath('//input[@value="save"]').first.click()
62
63    # waiting for the redirect - without this the test is flaky..
64    sleep(1)
65
66    browser.visit(url)
67    browser.click_link_by_text('beállítások')
68    browser.is_text_present('Beállítások')
69
70
71def test_search(browser):
72    browser.visit(url)
73    browser.fill('q', 'test search query')
74    browser.find_by_xpath('//button[@type="submit"]').first.click()
75    assert browser.is_text_present('didn\'t find any results')
76