Add tests for Todos target's state

This commit is contained in:
Alfredo Sumaran 2016-04-28 15:26:18 -05:00 committed by Jacob Schatz
parent 33be8181ac
commit 38d6bc77f9
1 changed files with 84 additions and 0 deletions

View File

@ -0,0 +1,84 @@
require 'rails_helper'
describe 'Todos > Target State Labels' do
let(:user) { create(:user) }
let(:author) { create(:user) }
let(:project) { create(:project) }
let(:issue_open) { create(:issue) }
let(:issue_closed) { create(:issue, state: 'closed') }
let(:mr_open) { create(:merge_request, :simple, author: user) }
let(:mr_merged) { create(:merge_request, :simple, author: user, state: 'merged') }
let(:mr_closed) { create(:merge_request, :simple, author: user, state: 'closed') }
describe 'GET /dashboard/todos' do
context 'On a todo for a Closed Issue' do
before do
create(:todo, :mentioned, user: user, project: project, target: issue_closed, author: author)
login_as user
visit dashboard_todos_path
end
it 'has closed label' do
page.within '.todos-list' do
expect(page).to have_content('Closed')
end
end
end
context 'On a todo for a Open Issue' do
before do
create(:todo, :mentioned, user: user, project: project, target: issue_open, author: author)
login_as user
visit dashboard_todos_path
end
it 'does not have a open label' do
page.within '.todos-list' do
expect(page).not_to have_content('Open')
end
end
end
context 'On a todo for a merged Merge Request' do
before do
create(:todo, :mentioned, user: user, project: project, target: mr_merged, author: author)
login_as user
visit dashboard_todos_path
end
it 'has merged label' do
page.within '.todos-list' do
expect(page).to have_content('Merged')
end
end
end
context 'On a todo for a closed Merge Request' do
before do
create(:todo, :mentioned, user: user, project: project, target: mr_closed, author: author)
login_as user
visit dashboard_todos_path
end
it 'has closed label' do
page.within '.todos-list' do
expect(page).to have_content('Closed')
end
end
end
context 'On a todo for a open Merge Request' do
before do
create(:todo, :mentioned, user: user, project: project, target: mr_open, author: author)
login_as user
visit dashboard_todos_path
end
it 'does not have a open label' do
page.within '.todos-list' do
expect(page).not_to have_content('Open')
end
end
end
end
end