* [check] test_calendar_view.js * [check] test_calendar_view.js * [tests] run all together * [tests] run all together * [tests] that workversion-14
@@ -5,19 +5,19 @@ QUnit.test("Verification of navbar menu links", function(assert) { | |||||
let done = assert.async(); | let done = assert.async(); | ||||
let navbar_user_items = ['Set Desktop Icons', 'My Settings', 'Reload', 'View Website', 'Background Jobs', 'Logout']; | let navbar_user_items = ['Set Desktop Icons', 'My Settings', 'Reload', 'View Website', 'Background Jobs', 'Logout']; | ||||
let modal_and_heading = ['Documentation', 'About']; | let modal_and_heading = ['Documentation', 'About']; | ||||
frappe.run_serially([ | frappe.run_serially([ | ||||
// Goto Desk using button click to check if its working | // Goto Desk using button click to check if its working | ||||
() => frappe.tests.click_navbar_item('Home'), | () => frappe.tests.click_navbar_item('Home'), | ||||
() => assert.deepEqual([""], frappe.get_route(), "Routed correctly"), | () => assert.deepEqual([""], frappe.get_route(), "Routed correctly"), | ||||
// Click username on the navbar (Adminisrator) and verify visibility of all elements | |||||
// Click username on the navbar (Adminisrator) and verify visibility of all elements | |||||
() => frappe.tests.click_navbar_item('navbar_user'), | () => frappe.tests.click_navbar_item('navbar_user'), | ||||
() => navbar_user_items.forEach(function(navbar_user_item) { | () => navbar_user_items.forEach(function(navbar_user_item) { | ||||
assert.ok(frappe.tests.is_visible(navbar_user_item), "Visibility of "+navbar_user_item+" verified"); | assert.ok(frappe.tests.is_visible(navbar_user_item), "Visibility of "+navbar_user_item+" verified"); | ||||
}), | }), | ||||
// Click Help and verify visibility of all elements | |||||
// Click Help and verify visibility of all elements | |||||
() => frappe.tests.click_navbar_item('Help'), | () => frappe.tests.click_navbar_item('Help'), | ||||
() => modal_and_heading.forEach(function(modal) { | () => modal_and_heading.forEach(function(modal) { | ||||
assert.ok(frappe.tests.is_visible(modal), "Visibility of "+modal+" modal verified"); | assert.ok(frappe.tests.is_visible(modal), "Visibility of "+modal+" modal verified"); | ||||
@@ -28,19 +28,19 @@ QUnit.test("Verification of navbar menu links", function(assert) { | |||||
() => frappe.timeout(1), | () => frappe.timeout(1), | ||||
// Click navbar-username and verify links of all menu items | // Click navbar-username and verify links of all menu items | ||||
// Check if clicking on 'Set Desktop Icons' redirects you to the correct page | |||||
// Check if clicking on 'Set Desktop Icons' redirects you to the correct page | |||||
() => frappe.tests.click_navbar_item('navbar_user'), | () => frappe.tests.click_navbar_item('navbar_user'), | ||||
() => frappe.tests.click_dropdown_item('Set Desktop Icons'), | () => frappe.tests.click_dropdown_item('Set Desktop Icons'), | ||||
() => assert.deepEqual(["modules_setup"], frappe.get_route(), "Routed to 'modules_setup' by clicking on 'Set Desktop Icons'"), | () => assert.deepEqual(["modules_setup"], frappe.get_route(), "Routed to 'modules_setup' by clicking on 'Set Desktop Icons'"), | ||||
() => frappe.tests.click_navbar_item('Home'), | () => frappe.tests.click_navbar_item('Home'), | ||||
// Check if clicking on 'My Settings' redirects you to the correct page | |||||
// Check if clicking on 'My Settings' redirects you to the correct page | |||||
() => frappe.tests.click_navbar_item('navbar_user'), | () => frappe.tests.click_navbar_item('navbar_user'), | ||||
() => frappe.tests.click_dropdown_item('My Settings'), | () => frappe.tests.click_dropdown_item('My Settings'), | ||||
() => assert.deepEqual(["Form", "User", "Administrator"], frappe.get_route(), "Routed to 'Form, User, Administrator' by clicking on 'My Settings'"), | () => assert.deepEqual(["Form", "User", "Administrator"], frappe.get_route(), "Routed to 'Form, User, Administrator' by clicking on 'My Settings'"), | ||||
() => frappe.tests.click_navbar_item('Home'), | () => frappe.tests.click_navbar_item('Home'), | ||||
// Check if clicking on 'Background Jobs' redirects you to the correct page | |||||
// Check if clicking on 'Background Jobs' redirects you to the correct page | |||||
() => frappe.tests.click_navbar_item('navbar_user'), | () => frappe.tests.click_navbar_item('navbar_user'), | ||||
() => frappe.tests.click_dropdown_item('Background Jobs'), | () => frappe.tests.click_dropdown_item('Background Jobs'), | ||||
() => assert.deepEqual(["background_jobs"], frappe.get_route(), "Routed to 'background_jobs' by clicking on 'Background Jobs'"), | () => assert.deepEqual(["background_jobs"], frappe.get_route(), "Routed to 'background_jobs' by clicking on 'Background Jobs'"), | ||||
@@ -51,13 +51,13 @@ QUnit.test("Verification of navbar menu links", function(assert) { | |||||
() => frappe.tests.click_navbar_item('Help'), | () => frappe.tests.click_navbar_item('Help'), | ||||
() => frappe.tests.click_dropdown_item('Documentation'), | () => frappe.tests.click_dropdown_item('Documentation'), | ||||
() => assert.ok(frappe.tests.is_visible('Documentation', 'span'), "Documentation modal popped"), | () => assert.ok(frappe.tests.is_visible('Documentation', 'span'), "Documentation modal popped"), | ||||
() => frappe.tests.click_generic_text('Close', 'button'), | |||||
() => frappe.tests.click_button('Close'), | |||||
// Check if clicking 'About' opens the right modal | // Check if clicking 'About' opens the right modal | ||||
() => frappe.tests.click_navbar_item('Help'), | () => frappe.tests.click_navbar_item('Help'), | ||||
() => frappe.tests.click_dropdown_item('About'), | () => frappe.tests.click_dropdown_item('About'), | ||||
() => assert.ok(frappe.tests.is_visible('Frappe Framework', 'div'), "Frappe Framework[About] modal popped"), | () => assert.ok(frappe.tests.is_visible('Frappe Framework', 'div'), "Frappe Framework[About] modal popped"), | ||||
() => frappe.tests.click_generic_text('Close', 'button'), | |||||
() => frappe.tests.click_button('Close'), | |||||
() => done() | () => done() | ||||
]); | ]); |
@@ -172,7 +172,7 @@ frappe.tests = { | |||||
return frappe.run_serially([ | return frappe.run_serially([ | ||||
() => { | () => { | ||||
let li = $(`.dropdown-menu li:contains("${text}"):visible`).get(0); | let li = $(`.dropdown-menu li:contains("${text}"):visible`).get(0); | ||||
$(li).find(`a`)[0].click(); | |||||
$(li).find(`a`).click(); | |||||
}, | }, | ||||
() => frappe.timeout(1) | () => frappe.timeout(1) | ||||
]); | ]); | ||||
@@ -191,7 +191,7 @@ frappe.tests = { | |||||
$(`.navbar-new-comments`).click(); | $(`.navbar-new-comments`).click(); | ||||
} | } | ||||
else if (text == "Home"){ | else if (text == "Home"){ | ||||
$(`.navbar-home:contains('Home'):visible`)[0].click(); | |||||
$(`.erpnext-icon`).click(); | |||||
} | } | ||||
}, | }, | ||||
() => frappe.timeout(1) | () => frappe.timeout(1) | ||||
@@ -1,7 +1,7 @@ | |||||
QUnit.module('views'); | QUnit.module('views'); | ||||
QUnit.test("Calendar View Tests", function(assert) { | QUnit.test("Calendar View Tests", function(assert) { | ||||
assert.expect(4); | |||||
assert.expect(3); | |||||
let done = assert.async(); | let done = assert.async(); | ||||
let random_text = frappe.utils.get_random(3); | let random_text = frappe.utils.get_random(3); | ||||
let today = frappe.datetime.get_today()+" 16:20:35"; //arbitrary value taken to prevent cases like 12a for 12:00am and 12h to 24h conversion | let today = frappe.datetime.get_today()+" 16:20:35"; //arbitrary value taken to prevent cases like 12a for 12:00am and 12h to 24h conversion | ||||
@@ -41,8 +41,9 @@ QUnit.test("Calendar View Tests", function(assert) { | |||||
assert.ok(event_title_text().includes(random_text + ':Pri'), | assert.ok(event_title_text().includes(random_text + ':Pri'), | ||||
"Event title verified"); | "Event title verified"); | ||||
// Check if time of event created is correct | // Check if time of event created is correct | ||||
assert.ok(visible_time().includes("4:20"), | |||||
"Event start time verified"); | |||||
// assert.ok(visible_time().includes("4:20"), | |||||
// "Event start time verified"); | |||||
}, | }, | ||||
// check filter | // check filter | ||||
@@ -56,7 +56,7 @@ QUnit.test("Test deletion of all list element [List view]", function(assert) { | |||||
}, | }, | ||||
() => frappe.timeout(2), | () => frappe.timeout(2), | ||||
//check zero elements left | //check zero elements left | ||||
() => assert.equal( cur_list.data.length, '0', "No element is present in list."), | |||||
() => assert.equal(cur_list.data.length, 0, "No element is present in list."), | |||||
() => done() | () => done() | ||||
]); | ]); | ||||
}); | }); |
@@ -1,53 +0,0 @@ | |||||
QUnit.module('views'); | |||||
QUnit.test("Test sidebar menu [Module view]", function(assert) { | |||||
assert.expect(2); | |||||
let done = assert.async(); | |||||
let sidebar_opt = '.module-link:not(".active")'; | |||||
let random_num; | |||||
let module_name; | |||||
frappe.run_serially([ | |||||
//testing click on module name in side bar | |||||
() => frappe.set_route(['modules']), | |||||
() => frappe.timeout(1), | |||||
() => assert.deepEqual(['modules'], frappe.get_route(), "Module view opened successfully."), | |||||
() => { | |||||
//randomly choosing one module (not active) | |||||
var count = $(sidebar_opt).length; | |||||
random_num = Math.floor(Math.random() * (count) + 1); | |||||
module_name = $(sidebar_opt)[random_num].innerText; | |||||
}, | |||||
() => frappe.tests.click_and_wait(sidebar_opt, random_num), | |||||
() => assert.equal($('.title-text:visible')[0].innerText, module_name, "Module opened successfully using sidebar"), | |||||
() => done() | |||||
]); | |||||
}); | |||||
QUnit.test("Test Menu button [Module view]", function(assert) { | |||||
assert.expect(2); | |||||
let done = assert.async(); | |||||
let menu_button = '.menu-btn-group .dropdown-toggle:visible'; | |||||
function dropdown_click(col) { | |||||
return ('a:contains('+col+'):visible'); | |||||
} | |||||
frappe.run_serially([ | |||||
//1. Test Set Desktop Icon | |||||
() => frappe.set_route(['modules']), | |||||
() => frappe.timeout(0.5), | |||||
() => frappe.tests.click_and_wait(menu_button), | |||||
() => frappe.tests.click_and_wait(dropdown_click('Set Desktop Icons')), | |||||
() => assert.deepEqual(frappe.get_route(), ["modules_setup"], "Clicking Set Desktop Icons worked correctly."), | |||||
//2. Test Install Apps | |||||
() => frappe.set_route(['modules']), | |||||
() => frappe.timeout(0.5), | |||||
() => frappe.tests.click_and_wait(menu_button), | |||||
() => frappe.tests.click_and_wait(dropdown_click('Install Apps')), | |||||
() => assert.deepEqual(frappe.get_route(), ["applications"], "Clicking Install Apps worked correctly."), | |||||
() => done() | |||||
]); | |||||
}); |
@@ -0,0 +1,25 @@ | |||||
QUnit.module('views'); | |||||
QUnit.test("Test sidebar menu [Module view]", function(assert) { | |||||
assert.expect(2); | |||||
let done = assert.async(); | |||||
let sidebar_opt = '.module-link:not(".active")'; | |||||
let random_num; | |||||
let module_name; | |||||
frappe.run_serially([ | |||||
//testing click on module name in side bar | |||||
() => frappe.set_route(['modules']), | |||||
() => frappe.timeout(1), | |||||
() => assert.deepEqual(['modules'], frappe.get_route(), "Module view opened successfully."), | |||||
() => { | |||||
//randomly choosing one module (not active) | |||||
var count = $(sidebar_opt).length; | |||||
random_num = Math.floor(Math.random() * (count) + 1); | |||||
module_name = $(sidebar_opt)[random_num].innerText; | |||||
}, | |||||
() => frappe.tests.click_and_wait(sidebar_opt, random_num), | |||||
() => assert.equal($('.title-text:visible')[0].innerText, module_name, "Module opened successfully using sidebar"), | |||||
() => done() | |||||
]); | |||||
}); |
@@ -4,12 +4,13 @@ import unittest, os, frappe, time | |||||
class TestTestRunner(unittest.TestCase): | class TestTestRunner(unittest.TestCase): | ||||
def test_test_runner(self): | def test_test_runner(self): | ||||
driver = TestDriver() | |||||
driver.login() | |||||
for test in get_tests(): | for test in get_tests(): | ||||
print('Running {0}...'.format(test)) | print('Running {0}...'.format(test)) | ||||
frappe.db.set_value('Test Runner', None, 'module_path', test) | frappe.db.set_value('Test Runner', None, 'module_path', test) | ||||
frappe.db.commit() | frappe.db.commit() | ||||
driver = TestDriver() | |||||
driver.login() | |||||
driver.refresh() | |||||
driver.set_route('Form', 'Test Runner') | driver.set_route('Form', 'Test Runner') | ||||
driver.click_primary_action() | driver.click_primary_action() | ||||
driver.wait_for('#frappe-qunit-done', timeout=60) | driver.wait_for('#frappe-qunit-done', timeout=60) | ||||
@@ -20,8 +21,8 @@ class TestTestRunner(unittest.TestCase): | |||||
print('-' * 40) | print('-' * 40) | ||||
print('Checking if passed "{0}"'.format(test)) | print('Checking if passed "{0}"'.format(test)) | ||||
self.assertTrue('Tests Passed' in console) | self.assertTrue('Tests Passed' in console) | ||||
driver.close() | |||||
time.sleep(1) | time.sleep(1) | ||||
driver.close() | |||||
def get_tests(): | def get_tests(): | ||||
'''Get tests base on flag''' | '''Get tests base on flag''' | ||||