mirror of
https://github.com/internetee/registry.git
synced 2025-05-17 17:59:47 +02:00
124 lines
3.7 KiB
Ruby
124 lines
3.7 KiB
Ruby
require 'rails_helper'
|
|
|
|
feature 'Domains', type: :feature do
|
|
before :all do
|
|
Fabricate(:zonefile_setting, origin: 'ee')
|
|
Fabricate(:zonefile_setting, origin: 'pri.ee')
|
|
@user = Fabricate(:api_user)
|
|
end
|
|
|
|
context 'as unknown user' do
|
|
it 'should redirect to sign in page' do
|
|
visit '/registrar/domains'
|
|
current_path.should == '/registrar/login'
|
|
page.should have_text('You need to sign in or sign up')
|
|
end
|
|
end
|
|
|
|
context 'as signed in user' do
|
|
before do
|
|
registrar_sign_in
|
|
end
|
|
|
|
it 'should navigate to the domains index page' do
|
|
click_link 'Domains'
|
|
current_path.should == '/registrar/domains'
|
|
end
|
|
|
|
it 'should get domains index page' do
|
|
visit '/registrar/domains'
|
|
current_path.should == '/registrar/domains'
|
|
end
|
|
|
|
it 'should navigate to new page' do
|
|
click_link 'Domains'
|
|
click_link 'New'
|
|
|
|
current_path.should == '/registrar/domains/new'
|
|
end
|
|
|
|
it 'should get new page' do
|
|
visit '/registrar/domains/new'
|
|
current_path.should == '/registrar/domains/new'
|
|
end
|
|
|
|
it 'should switch user' do
|
|
d1 = Fabricate(:domain, registrar: @user.registrar)
|
|
user2 = Fabricate(:api_user, identity_code: @user.identity_code)
|
|
d2 = Fabricate(:domain, registrar: user2.registrar)
|
|
|
|
visit '/registrar/domains'
|
|
|
|
page.should have_text(d1.name)
|
|
page.should_not have_text(d2.name)
|
|
|
|
click_link "#{user2} (#{user2.roles.first}) - #{user2.registrar}"
|
|
|
|
visit '/registrar/domains'
|
|
|
|
page.should_not have_text(d1.name)
|
|
page.should have_text(d2.name)
|
|
end
|
|
|
|
it 'should search domains' do
|
|
# having shared state across tests is really annoying sometimes...
|
|
within('.dropdown-menu') do
|
|
click_link "#{@user} (#{@user.roles.first}) - #{@user.registrar}"
|
|
end
|
|
|
|
Fabricate(:domain, name: 'abcde.ee', registrar: @user.registrar)
|
|
Fabricate(:domain, name: 'abcdee.ee', registrar: @user.registrar)
|
|
Fabricate(:domain, name: 'defgh.pri.ee', registrar: @user.registrar)
|
|
|
|
visit '/registrar/domains'
|
|
click_link 'Domains'
|
|
|
|
page.should have_content('abcde.ee')
|
|
page.should have_content('abcdee.ee')
|
|
page.should have_content('defgh.pri.ee')
|
|
|
|
fill_in 'q_name_matches', with: 'abcde.ee'
|
|
find('.btn.btn-primary.search').click
|
|
|
|
current_path.should == "/registrar/domains/info"
|
|
|
|
visit '/registrar/domains'
|
|
fill_in 'q_name_matches', with: '.ee'
|
|
find('.btn.btn-primary.search').click
|
|
|
|
current_path.should == "/registrar/domains"
|
|
page.should have_content('abcde.ee')
|
|
page.should have_content('abcdee.ee')
|
|
page.should have_content('defgh.pri.ee')
|
|
|
|
fill_in 'q_name_matches', with: 'abcd%.ee'
|
|
find('.btn.btn-primary.search').click
|
|
page.should have_content('abcde.ee')
|
|
page.should have_content('abcdee.ee')
|
|
page.should_not have_content('defgh.pri.ee')
|
|
|
|
fill_in 'q_name_matches', with: 'abcd_.ee'
|
|
find('.btn.btn-primary.search').click
|
|
current_path.should == "/registrar/domains"
|
|
page.should have_content('abcde.ee')
|
|
end
|
|
|
|
it 'should search foreign domain and transfer it' do
|
|
user2 = Fabricate(:api_user, identity_code: @user.identity_code)
|
|
d2 = Fabricate(:domain, registrar: user2.registrar)
|
|
|
|
visit '/registrar/domains'
|
|
page.should_not have_content(d2.name)
|
|
fill_in 'q_name_matches', with: d2.name
|
|
find('.btn.btn-primary.search').click
|
|
|
|
current_path.should == "/registrar/domains/info"
|
|
click_link 'Transfer'
|
|
fill_in 'Password', with: d2.auth_info
|
|
click_button 'Transfer'
|
|
page.should have_content 'serverApproved'
|
|
visit '/registrar/domains'
|
|
page.should have_content d2.name
|
|
end
|
|
end
|
|
end
|