summaryrefslogtreecommitdiff
path: root/spec/features/todos
diff options
context:
space:
mode:
authorAlfredo Sumaran <alfredo@gitlab.com>2016-05-09 17:19:26 -0500
committerJacob Schatz <jschatz1@gmail.com>2016-05-25 08:15:20 -0400
commitfd0c40fc801b766622654485717532f821efb795 (patch)
tree08df2258c49f2134b435b5172da7a7299c106ea8 /spec/features/todos
parent7d7ded5ee9ce05c41e1143d43cb49e261fb86423 (diff)
downloadgitlab-ce-fd0c40fc801b766622654485717532f821efb795.tar.gz
Address feedback
Signed-off-by: Alfredo Sumaran <alfredo@gitlab.com>
Diffstat (limited to 'spec/features/todos')
-rw-r--r--spec/features/todos/target_state_spec.rb65
-rw-r--r--spec/features/todos/target_state_todos_spec.rb84
2 files changed, 65 insertions, 84 deletions
diff --git a/spec/features/todos/target_state_spec.rb b/spec/features/todos/target_state_spec.rb
new file mode 100644
index 00000000000..604b3ee4056
--- /dev/null
+++ b/spec/features/todos/target_state_spec.rb
@@ -0,0 +1,65 @@
+require 'rails_helper'
+
+feature 'Todo target states', feature: true do
+ let(:user) { create(:user) }
+ let(:author) { create(:user) }
+ let(:project) { create(:project) }
+
+ before do
+ login_as user
+ end
+
+ scenario 'on a closed issue todo has closed label' do
+ issue_closed = create(:issue, state: 'closed')
+ create_todo issue_closed
+ visit dashboard_todos_path
+
+ page.within '.todos-list' do
+ expect(page).to have_content('Closed')
+ end
+ end
+
+ scenario 'on an open issue todo does not have an open label' do
+ issue_open = create(:issue)
+ create_todo issue_open
+ visit dashboard_todos_path
+
+ page.within '.todos-list' do
+ expect(page).not_to have_content('Open')
+ end
+ end
+
+ scenario 'on a merged merge request todo has merged label' do
+ mr_merged = create(:merge_request, :simple, author: user, state: 'merged')
+ create_todo mr_merged
+ visit dashboard_todos_path
+
+ page.within '.todos-list' do
+ expect(page).to have_content('Merged')
+ end
+ end
+
+ scenario 'on a closed merge request todo has closed label' do
+ mr_closed = create(:merge_request, :simple, author: user, state: 'closed')
+ create_todo mr_closed
+ visit dashboard_todos_path
+
+ page.within '.todos-list' do
+ expect(page).to have_content('Closed')
+ end
+ end
+
+ scenario 'on an open merge request todo does not have an open label' do
+ mr_open = create(:merge_request, :simple, author: user)
+ create_todo mr_open
+ visit dashboard_todos_path
+
+ page.within '.todos-list' do
+ expect(page).not_to have_content('Open')
+ end
+ end
+
+ def create_todo(target)
+ create(:todo, :mentioned, user: user, project: project, target: target, author: author)
+ end
+end
diff --git a/spec/features/todos/target_state_todos_spec.rb b/spec/features/todos/target_state_todos_spec.rb
deleted file mode 100644
index c7c5cdb66b0..00000000000
--- a/spec/features/todos/target_state_todos_spec.rb
+++ /dev/null
@@ -1,84 +0,0 @@
-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