ensl.org/spec/features/issues/issues_spec.rb

50 lines
1.4 KiB
Ruby
Raw Permalink Normal View History

2015-06-06 23:58:41 +00:00
require 'spec_helper'
feature 'Issues' do
let!(:user) { create :user }
scenario 'creation' do
sign_in_as user
click_link 'Agenda'
click_link 'Issues'
click_link 'New issue'
expect(page).to have_content('New Issue')
issue_title = 'My Problem'
issue_description = "There's a fly in my soup"
fill_in 'Title', with: issue_title
fill_in 'Text', with: issue_description
click_button 'Submit'
expect(page).to have_content('Issue was successfully created.')
expect(page).to have_content(issue_title)
expect(page).to have_content(issue_description)
end
feature 'adminstration' do
let!(:admin) { create :user, :admin }
let!(:issue) { create :issue, author: user }
scenario 'issue management' do
sign_in_as admin
click_link 'Admin'
click_link 'Issues (1)'
within '#open' do
expect(page).to have_content(issue.title)
expect(page).to have_content(issue.author.username)
end
visit edit_issue_path(issue)
expect(page).to have_content('Editing Issue')
solution = "Use a baseball bat"
fill_in "Title", with: "Foo"
fill_in "Text", with: "Bar"
fill_in "Solution", with: solution
select 'Solved', from: 'Status'
click_button 'Submit'
expect(page).to have_content('Issue was successfully updated.')
visit issues_path
within '#solved' do
expect(page).to have_content("Foo")
expect(page).to have_content(issue.author.username)
end
end
end
end