Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 9 additions & 14 deletions test/integration/admin_area/admin_users_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,15 @@ class AdminAreaAdminUsersIntegrationTest < JavaScriptApplicationSystemTestCase
end

def test_create_new_admin_user
createNewAdminUser(true)
create_admin_user(valid: true)
end

def test_create_with_invalid_data_new_admin_user
createNewAdminUser(false)
create_admin_user(valid: false)
end

def test_edit_successfully_exist_record
createNewAdminUser(true)
create_admin_user(valid: true)

visit admin_admin_users_path
assert_selector 'a', text: 'test_user_name'
Expand All @@ -38,7 +38,7 @@ def test_edit_successfully_exist_record
end

def test_edit_exist_record_with_invalid_data
createNewAdminUser(true)
create_admin_user(valid: true)

visit admin_admin_users_path
click_on 'test_user_name'
Expand All @@ -54,26 +54,24 @@ def test_edit_exist_record_with_invalid_data
end

def test_delete_exist_record
createNewAdminUser(true)
create_admin_user(valid: true)

visit admin_admin_users_path
click_on 'test_user_name'
assert_text 'General'
click_on 'Delete'

page.driver.browser.switch_to.alert.accept
accept_confirm { click_on 'Delete' }

assert_text 'Record deleted'
end

private

def createNewAdminUser(valid)
def create_admin_user(valid:)
visit admin_admin_users_path
click_on 'New admin user'

fill_in 'Username', with: 'test_user_name'
# If valid=true creating valid user, if else, then with invalid data
if valid
fill_in 'Password', with: 'test_password'
fill_in 'Password confirmation', with: 'test_password'
Expand All @@ -86,11 +84,8 @@ def createNewAdminUser(valid)

select 'Estonia', from: 'admin_user_country_code', match: :first

select_element = find(:xpath, "/html/body/div[2]/form/div[2]/div/div[7]/div[2]/div/div[1]")
select_element.click

option_element = find(:xpath, "/html/body/div[2]/form/div[2]/div/div[7]/div[2]/div/div[2]/div/div[1]")
option_element.click
find('form.form-horizontal .selectize-control .selectize-input').click
find('.selectize-dropdown .option', match: :first).click

click_on 'Save'

Expand Down
73 changes: 45 additions & 28 deletions test/integration/admin_area/blocked_domains_test.rb
Original file line number Diff line number Diff line change
@@ -1,50 +1,41 @@
require 'test_helper'
require 'application_system_test_case'


# /admin/blocked_domains
class AdminAreaBlockedDomainsIntegrationTest < JavaScriptApplicationSystemTestCase
setup do
WebMock.allow_net_connect!
sign_in users(:admin)

@domain = domains(:shop)
@blocked_domain = blocked_domains(:one)
end

def test_page_successfully_loaded
visit_admin_blocked_domains_path
visit_admin_blocked_domains
end

def test_add_into_blocked_list
visit_admin_blocked_domains_path
add_domain_into_blocked_list(true)
visit_admin_blocked_domains
add_blocked_domain(success: true)
end

def test_add_into_blocked_list_same_domain
visit_admin_blocked_domains_path
add_domain_into_blocked_list(true)
add_domain_into_blocked_list(false)
visit_admin_blocked_domains
add_blocked_domain(success: true)
add_blocked_domain(success: false)
end

def test_delete_domain_from_blocked_list
visit_admin_blocked_domains_path
add_domain_into_blocked_list(true)

click_link_or_button 'Delete', match: :first

# Accept to delete in modal window
page.driver.browser.switch_to.alert.accept
setup_blocked_domain

assert_text 'Domain deleted!'
delete_first_blocked_domain
assert_text 'Domain deleted!'
end

def test_find_blocked_domain_from_blocked_list
visit_admin_blocked_domains_path
add_domain_into_blocked_list(true)

fill_in 'Name', with: @domain.name
find(:xpath, "//span[@class='glyphicon glyphicon-search']").click
setup_blocked_domain

search_blocked_domain(@domain.name)
assert_text @domain.name
end

Expand All @@ -56,26 +47,52 @@ def test_download_blocked_domains

assert_response :ok
assert_equal 'text/csv; charset=utf-8', response.headers['Content-Type']
assert_equal %(attachment; filename="blocked_domains_#{Time.zone.now.to_formatted_s(:number)}.csv"; filename*=UTF-8''blocked_domains_#{Time.zone.now.to_formatted_s(:number)}.csv),
response.headers['Content-Disposition']
assert_not_empty response.body
end

private

def visit_admin_blocked_domains_path
def visit_admin_blocked_domains
visit admin_blocked_domains_path
assert_text 'Blocked domains'
end

def add_domain_into_blocked_list(value)
def add_blocked_domain(success:)
click_on 'New blocked domain'
assert_text 'Add domain to blocked list'

fill_in 'Name', with: @domain.name
click_on 'Save'
safe_click_on 'Save'

if success
assert_text 'Domain added!'
assert_no_css '.modal.show'
else
assert_text 'Failed to add domain!'
end
end

def setup_blocked_domain
visit_admin_blocked_domains
add_blocked_domain(success: true)
end

def delete_first_blocked_domain
accept_confirm { click_link_or_button 'Delete', match: :first }
rescue Selenium::WebDriver::Error::UnknownError => e
raise unless e.message.include?('Node with given id does not belong to the document')
accept_confirm { click_link_or_button 'Delete', match: :first }
end

def search_blocked_domain(name)
fill_in 'Name', with: name
find('.glyphicon-search').click
end

return assert_text 'Domain added!' if value
return assert_text 'Failed to add domain!'
def safe_click_on(locator, **options)
click_on locator, **options
rescue Selenium::WebDriver::Error::UnknownError => e
raise unless e.message.include?('Node with given id does not belong to the document')
click_on locator, **options
end
end
16 changes: 4 additions & 12 deletions test/integration/admin_area/pending_delete_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,7 @@ class AdminAreaPendingDeleteIntegrationTest < JavaScriptApplicationSystemTestCas
def test_accept_pending_delete
visit edit_admin_domain_path(id: @domain.id)

click_on 'Accept'
page.driver.browser.switch_to.alert.accept

accept_confirm { click_on 'Accept' }
assert_text 'Pending was successfully applied.'
end

Expand All @@ -30,18 +28,14 @@ def test_accept_pending_delete_no_success

visit edit_admin_domain_path(id: @domain.id)

click_on 'Accept'
page.driver.browser.switch_to.alert.accept

accept_confirm { click_on 'Accept' }
assert_text 'Not success'
end

def test_reject_panding_delete
visit edit_admin_domain_path(id: @domain.id)

click_on 'Reject'
page.driver.browser.switch_to.alert.accept

accept_confirm { click_on 'Reject' }
assert_text 'Pending was successfully removed.'
end

Expand All @@ -52,9 +46,7 @@ def test_accept_pending_delete_no_success

visit edit_admin_domain_path(id: @domain.id)

click_on 'Reject'
page.driver.browser.switch_to.alert.accept

accept_confirm { click_on 'Reject' }
assert_text 'Not success'
end
end
13 changes: 4 additions & 9 deletions test/integration/admin_area/pending_update_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,7 @@ def test_accept_pending_update

visit edit_admin_domain_path(id: @domain.id)

click_on 'Accept'
page.driver.browser.switch_to.alert.accept

accept_confirm { click_on 'Accept' }
assert_text 'Pending was successfully applied.'
end

Expand All @@ -51,8 +49,7 @@ def test_accept_pending_update_no_success

visit edit_admin_domain_path(id: @domain.id)

click_on 'Accept'
page.driver.browser.switch_to.alert.accept
accept_confirm { click_on 'Accept' }
assert_text 'Not success'
end

Expand All @@ -68,8 +65,7 @@ def test_reject_panding_update

visit edit_admin_domain_path(id: @domain.id)

click_on 'Reject'
page.driver.browser.switch_to.alert.accept
accept_confirm { click_on 'Reject' }
assert_text 'Pending was successfully removed.'
end

Expand All @@ -89,8 +85,7 @@ def test_accept_pending_update_no_success

visit edit_admin_domain_path(id: @domain.id)

click_on 'Reject'
page.driver.browser.switch_to.alert.accept
accept_confirm { click_on 'Reject' }
assert_text 'Not success'
end
end
23 changes: 15 additions & 8 deletions test/integration/admin_area/reserved_domains_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,13 @@ class AdminAreaReservedDomainsIntegrationTest < JavaScriptApplicationSystemTestC
end

def test_remove_reserved_domain
visit admin_reserved_domains_path
click_link_or_button 'Delete', match: :first
page.driver.browser.switch_to.alert.accept

visit_reserved_domains
delete_first_reserved_domain
assert_text 'Domain deleted!'
end

def test_add_invalid_domain
visit admin_reserved_domains_path
visit_reserved_domains
click_on 'New reserved domain'
fill_in "Name", with: "@##@$"
click_on 'Save'
Expand All @@ -29,7 +27,7 @@ def test_add_invalid_domain
end

def test_update_reserved_domain
visit admin_reserved_domains_path
visit_reserved_domains
click_link_or_button 'Edit', match: :first
fill_in 'Password', with: '12345678'
click_on 'Save'
Expand All @@ -51,8 +49,7 @@ def test_download_reserved_domains
end

def test_release_to_auction
visit admin_reserved_domains_path

visit_reserved_domains
first("input[type='checkbox']").set(true)

click_on 'Send to the auction list'
Expand All @@ -62,4 +59,14 @@ def test_release_to_auction
assert_text 'reserved.test'
assert_text 'started'
end

private

def visit_reserved_domains
visit admin_reserved_domains_path
end

def delete_first_reserved_domain
accept_confirm { click_link_or_button 'Delete', match: :first }
end
end
9 changes: 4 additions & 5 deletions test/integration/admin_area/white_ips_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ def test_visit_edit_whitelisted_ip_page
def test_update_whitelisted_ip
visit_info_whitelisted_ip_page
click_on 'Edit'
assert_text 'Edit white IP'

fill_in 'IPv4', with: '127.0.0.2'
find(:css, '#white_ip_interfaces_api').set(false)
Expand All @@ -66,8 +67,9 @@ def test_update_whitelisted_ip
def test_failed_to_update_whitelisted_ip
visit_info_whitelisted_ip_page
click_on 'Edit'
fill_in 'IPv4', with: 'asdadad#'
assert_text 'Edit white IP'

fill_in 'IPv4', with: 'asdadad#'
click_on 'Save'

assert_text 'Failed to update record'
Expand All @@ -79,10 +81,7 @@ def test_visit_info_whitelisted_ip_page

def test_delete_whitelisted_ip
visit_info_whitelisted_ip_page
click_on 'Delete'

page.driver.browser.switch_to.alert.accept

accept_confirm { click_on 'Delete' }
assert_text 'Record deleted'
end

Expand Down