Commit ea636ebb authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Merge branch 'rs-expect-syntax-specs' into 'master'

Prepare specs for RSpec 3

See merge request !811
parents 0b3c9742 37066267
......@@ -15,9 +15,9 @@ describe AutocompleteController do
let(:body) { JSON.parse(response.body) }
it { body.should be_kind_of(Array) }
it { body.size.should eq(1) }
it { body.first["username"].should == user.username }
it { expect(body).to be_kind_of(Array) }
it { expect(body.size).to eq(1) }
it { expect(body.first["username"]).to eq user.username }
end
context 'group members' do
......@@ -32,9 +32,9 @@ describe AutocompleteController do
let(:body) { JSON.parse(response.body) }
it { body.should be_kind_of(Array) }
it { body.size.should eq(1) }
it { body.first["username"].should == user.username }
it { expect(body).to be_kind_of(Array) }
it { expect(body.size).to eq(1) }
it { expect(body.first["username"]).to eq user.username }
end
context 'all users' do
......@@ -45,7 +45,7 @@ describe AutocompleteController do
let(:body) { JSON.parse(response.body) }
it { body.should be_kind_of(Array) }
it { body.size.should eq(User.count) }
it { expect(body).to be_kind_of(Array) }
it { expect(body.size).to eq(User.count) }
end
end
......@@ -12,7 +12,7 @@ describe "Admin::Hooks", feature: true do
describe "GET /admin/hooks" do
it "should be ok" do
visit admin_root_path
within ".sidebar-wrapper" do
page.within ".sidebar-wrapper" do
click_on "Hooks"
end
expect(current_path).to eq(admin_hooks_path)
......
......@@ -311,10 +311,10 @@ describe 'Issues', feature: true do
end
def first_issue
all('ul.issues-list li').first.text
page.all('ul.issues-list li').first.text
end
def last_issue
all('ul.issues-list li').last.text
page.all('ul.issues-list li').last.text
end
end
......@@ -22,20 +22,20 @@ describe 'Comments' do
is_expected.to have_css('.js-main-target-form', visible: true, count: 1)
expect(find('.js-main-target-form input[type=submit]').value).
to eq('Add Comment')
within('.js-main-target-form') do
page.within('.js-main-target-form') do
expect(page).not_to have_link('Cancel')
end
end
describe 'with text' do
before do
within('.js-main-target-form') do
page.within('.js-main-target-form') do
fill_in 'note[note]', with: 'This is awesome'
end
end
it 'should have enable submit button and preview button' do
within('.js-main-target-form') do
page.within('.js-main-target-form') do
expect(page).not_to have_css('.js-comment-button[disabled]')
expect(page).to have_css('.js-md-preview-button', visible: true)
end
......@@ -45,7 +45,7 @@ describe 'Comments' do
describe 'when posting a note' do
before do
within('.js-main-target-form') do
page.within('.js-main-target-form') do
fill_in 'note[note]', with: 'This is awsome!'
find('.js-md-preview-button').click
click_button 'Add Comment'
......@@ -54,11 +54,11 @@ describe 'Comments' do
it 'should be added and form reset' do
is_expected.to have_content('This is awsome!')
within('.js-main-target-form') do
page.within('.js-main-target-form') do
expect(page).to have_no_field('note[note]', with: 'This is awesome!')
expect(page).to have_css('.js-md-preview', visible: :hidden)
end
within('.js-main-target-form') do
page.within('.js-main-target-form') do
is_expected.to have_css('.js-note-text', visible: true)
end
end
......@@ -66,7 +66,7 @@ describe 'Comments' do
describe 'when editing a note', js: true do
it 'should contain the hidden edit form' do
within("#note_#{note.id}") do
page.within("#note_#{note.id}") do
is_expected.to have_css('.note-edit-form', visible: false)
end
end
......@@ -78,7 +78,7 @@ describe 'Comments' do
end
it 'should show the note edit form and hide the note body' do
within("#note_#{note.id}") do
page.within("#note_#{note.id}") do
expect(find('.current-note-edit-form', visible: true)).to be_visible
expect(find('.note-edit-form', visible: true)).to be_visible
expect(find(:css, '.note-body > .note-text', visible: false)).not_to be_visible
......@@ -90,17 +90,17 @@ describe 'Comments' do
#within(".current-note-edit-form") do
#fill_in "note[note]", with: "Some new content"
#find(".btn-cancel").click
#find(".js-note-text", visible: false).text.should == note.note
#expect(find(".js-note-text", visible: false).text).to eq note.note
#end
#end
it 'appends the edited at time to the note' do
within('.current-note-edit-form') do
page.within('.current-note-edit-form') do
fill_in 'note[note]', with: 'Some new content'
find('.btn-save').click
end
within("#note_#{note.id}") do
page.within("#note_#{note.id}") do
is_expected.to have_css('.note_edited_ago')
expect(find('.note_edited_ago').text).
to match(/less than a minute ago/)
......@@ -115,7 +115,7 @@ describe 'Comments' do
end
it 'shows the delete link' do
within('.note-attachment') do
page.within('.note-attachment') do
is_expected.to have_css('.js-note-attachment-delete')
end
end
......@@ -150,7 +150,7 @@ describe 'Comments' do
it { is_expected.to have_css('.js-temp-notes-holder') }
it 'has .new_note css class' do
within('.js-temp-notes-holder') do
page.within('.js-temp-notes-holder') do
expect(subject).to have_css('.new_note')
end
end
......@@ -166,7 +166,7 @@ describe 'Comments' do
end
it 'should be removed when canceled' do
within(".diff-file form[rel$='#{line_code}']") do
page.within(".diff-file form[rel$='#{line_code}']") do
find('.js-close-discussion-note-form').trigger('click')
end
......@@ -186,11 +186,11 @@ describe 'Comments' do
describe 'previewing them separately' do
before do
# add two separate texts and trigger previews on both
within("tr[id='#{line_code}'] + .js-temp-notes-holder") do
page.within("tr[id='#{line_code}'] + .js-temp-notes-holder") do
fill_in 'note[note]', with: 'One comment on line 7'
find('.js-md-preview-button').click
end
within("tr[id='#{line_code_2}'] + .js-temp-notes-holder") do
page.within("tr[id='#{line_code_2}'] + .js-temp-notes-holder") do
fill_in 'note[note]', with: 'Another comment on line 10'
find('.js-md-preview-button').click
end
......@@ -199,7 +199,7 @@ describe 'Comments' do
describe 'posting a note' do
before do
within("tr[id='#{line_code_2}'] + .js-temp-notes-holder") do
page.within("tr[id='#{line_code_2}'] + .js-temp-notes-holder") do
fill_in 'note[note]', with: 'Another comment on line 10'
click_button('Add Comment')
end
......
......@@ -7,7 +7,7 @@ describe "Search", feature: true do
@project.team << [@user, :reporter]
visit search_path
within '.search-holder' do
page.within '.search-holder' do
fill_in "search", with: @project.name[0..3]
click_button "Search"
end
......
......@@ -23,7 +23,7 @@ describe Gitlab::LDAP::Access do
it "should block user in GitLab" do
access.allowed?
user.should be_blocked
expect(user).to be_blocked
end
end
......@@ -44,7 +44,7 @@ describe Gitlab::LDAP::Access do
it "does not unblock user in GitLab" do
access.allowed?
user.should be_blocked
expect(user).to be_blocked
end
end
......@@ -56,7 +56,7 @@ describe Gitlab::LDAP::Access do
it "should unblock user in GitLab" do
access.allowed?
user.should_not be_blocked
expect(user).not_to be_blocked
end
end
end
......
......@@ -80,31 +80,31 @@ describe Gitlab::OAuth::AuthHash do
context 'auth_hash constructed with ASCII-8BIT encoding' do
it 'forces utf8 encoding on uid' do
auth_hash.uid.encoding.should eql Encoding::UTF_8
expect(auth_hash.uid.encoding).to eql Encoding::UTF_8
end
it 'forces utf8 encoding on provider' do
auth_hash.provider.encoding.should eql Encoding::UTF_8
expect(auth_hash.provider.encoding).to eql Encoding::UTF_8
end
it 'forces utf8 encoding on name' do
auth_hash.name.encoding.should eql Encoding::UTF_8
expect(auth_hash.name.encoding).to eql Encoding::UTF_8
end
it 'forces utf8 encoding on full_name' do
auth_hash.full_name.encoding.should eql Encoding::UTF_8
expect(auth_hash.full_name.encoding).to eql Encoding::UTF_8
end
it 'forces utf8 encoding on username' do
auth_hash.username.encoding.should eql Encoding::UTF_8
expect(auth_hash.username.encoding).to eql Encoding::UTF_8
end
it 'forces utf8 encoding on email' do
auth_hash.email.encoding.should eql Encoding::UTF_8
expect(auth_hash.email.encoding).to eql Encoding::UTF_8
end
it 'forces utf8 encoding on password' do
auth_hash.password.encoding.should eql Encoding::UTF_8
expect(auth_hash.password.encoding).to eql Encoding::UTF_8
end
end
end
......@@ -52,7 +52,7 @@ describe ExternalWikiService do
it 'should replace the wiki url' do
wiki_path = get_project_wiki_path(project)
wiki_path.should match('https://gitlab.com')
expect(wiki_path).to match('https://gitlab.com')
end
end
end
......
......@@ -43,7 +43,7 @@ describe IrkerService do
let(:_recipients) { 'a b c d' }
it 'should add an error if there is too many recipients' do
subject.send :check_recipients_count
subject.errors.should_not be_blank
expect(subject.errors).not_to be_blank
end
end
......@@ -51,7 +51,7 @@ describe IrkerService do
let(:_recipients) { 'a b c' }
it 'should not add an error if there is 3 recipients' do
subject.send :check_recipients_count
subject.errors.should be_blank
expect(subject.errors).to be_blank
end
end
end
......@@ -96,11 +96,11 @@ describe IrkerService do
conn = @irker_server.accept
conn.readlines.each do |line|
msg = JSON.load(line.chomp("\n"))
msg.keys.should match_array(['to', 'privmsg'])
expect(msg.keys).to match_array(['to', 'privmsg'])
if msg['to'].is_a?(String)
msg['to'].should == 'irc://chat.freenode.net/#commits'
expect(msg['to']).to eq 'irc://chat.freenode.net/#commits'
else
msg['to'].should match_array(['irc://chat.freenode.net/#commits'])
expect(msg['to']).to match_array(['irc://chat.freenode.net/#commits'])
end
end
conn.close
......
......@@ -196,10 +196,10 @@ describe API::API, api: true do
it 'should return a project issue by iid' do
get api("/projects/#{project.id}/issues?iid=#{issue.iid}", user)
response.status.should == 200
json_response.first['title'].should == issue.title
json_response.first['id'].should == issue.id
json_response.first['iid'].should == issue.iid
expect(response.status).to eq 200
expect(json_response.first['title']).to eq issue.title
expect(json_response.first['id']).to eq issue.id
expect(json_response.first['iid']).to eq issue.iid
end
it "should return 404 if issue id not found" do
......
......@@ -118,9 +118,9 @@ describe API::API, api: true do
it 'should return merge_request by iid' do
url = "/projects/#{project.id}/merge_requests?iid=#{merge_request.iid}"
get api(url, user)
response.status.should == 200
json_response.first['title'].should == merge_request.title
json_response.first['id'].should == merge_request.id
expect(response.status).to eq 200
expect(json_response.first['title']).to eq merge_request.title
expect(json_response.first['id']).to eq merge_request.id
end
it "should return a 404 error if merge_request_id not found" do
......
......@@ -32,9 +32,9 @@ describe API::API, api: true do
it 'should return a project milestone by iid' do
get api("/projects/#{project.id}/milestones?iid=#{milestone.iid}", user)
response.status.should == 200
json_response.first['title'].should == milestone.title
json_response.first['id'].should == milestone.id
expect(response.status).to eq 200
expect(json_response.first['title']).to eq milestone.title
expect(json_response.first['id']).to eq milestone.id
end
it 'should return 401 error if user not authenticated' do
......
......@@ -60,9 +60,9 @@ describe API::API, api: true do
it 'should include the project labels as the tag_list' do
get api('/projects', user)
response.status.should == 200
json_response.should be_an Array
json_response.first.keys.should include('tag_list')
expect(response.status).to eq 200
expect(json_response).to be_an Array
expect(json_response.first.keys).to include('tag_list')
end
context 'and using search' do
......
......@@ -12,8 +12,8 @@ describe DestroyGroupService do
destroy_group(group, user)
end
it { Group.all.should_not include(group) }
it { Project.all.should_not include(project) }
it { expect(Group.all).not_to include(group) }
it { expect(Project.all).not_to include(project) }
end
context 'file system' do
......@@ -23,8 +23,8 @@ describe DestroyGroupService do
Sidekiq::Testing.inline! { destroy_group(group, user) }
end
it { gitlab_shell.exists?(group.path).should be_falsey }
it { gitlab_shell.exists?(remove_path).should be_falsey }
it { expect(gitlab_shell.exists?(group.path)).to be_falsey }
it { expect(gitlab_shell.exists?(remove_path)).to be_falsey }
end
context 'Sidekiq fake' do
......@@ -33,8 +33,8 @@ describe DestroyGroupService do
Sidekiq::Testing.fake! { destroy_group(group, user) }
end
it { gitlab_shell.exists?(group.path).should be_falsey }
it { gitlab_shell.exists?(remove_path).should be_truthy }
it { expect(gitlab_shell.exists?(group.path)).to be_falsey }
it { expect(gitlab_shell.exists?(remove_path)).to be_truthy }
end
end
......
......@@ -12,9 +12,9 @@ describe Projects::DestroyService do
Sidekiq::Testing.inline! { destroy_project(project, user, {}) }
end
it { Project.all.should_not include(project) }
it { Dir.exists?(path).should be_falsey }
it { Dir.exists?(remove_path).should be_falsey }
it { expect(Project.all).not_to include(project) }
it { expect(Dir.exists?(path)).to be_falsey }
it { expect(Dir.exists?(remove_path)).to be_falsey }
end
context 'Sidekiq fake' do
......@@ -23,9 +23,9 @@ describe Projects::DestroyService do
Sidekiq::Testing.fake! { destroy_project(project, user, {}) }
end
it { Project.all.should_not include(project) }
it { Dir.exists?(path).should be_falsey }
it { Dir.exists?(remove_path).should be_truthy }
it { expect(Project.all).not_to include(project) }
it { expect(Dir.exists?(path)).to be_falsey }
it { expect(Dir.exists?(remove_path)).to be_truthy }
end
def destroy_project(project, user, params)
......
......@@ -20,8 +20,7 @@ describe Projects::TransferService do
@result = transfer_project(project, user, new_namespace_id: nil)
end
it { expect(@result).not_to be_nil } # { result.should be_false } passes on nil
it { expect(@result).to be_falsey }
it { expect(@result).to eq false }
it { expect(project.namespace).to eq(user.namespace) }
end
......@@ -30,8 +29,7 @@ describe Projects::TransferService do
@result = transfer_project(project, user, new_namespace_id: group.id)
end
it { expect(@result).not_to be_nil } # { result.should be_false } passes on nil
it { expect(@result).to be_falsey }
it { expect(@result).to eq false }
it { expect(project.namespace).to eq(user.namespace) }
end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment