Skip to content
Snippets Groups Projects
Commit b05ab108 authored by Douglas Barbosa Alexandre's avatar Douglas Barbosa Alexandre
Browse files

Add feature spec for task queue list page

parent 38026e5f
No related branches found
No related tags found
No related merge requests found
@dashboard
Feature: Dashboard Task Queue
Background:
Given I sign in as a user
And I own project "Shop"
And "John Doe" is a developer of project "Shop"
And I have pending tasks
And I visit dashboard task queue page
@javascript
Scenario: I mark pending tasks as done
Then I should see pending tasks assigned to me
And I mark the pending task as done
And I click on the "Done" tab
Then I should see all tasks marked as done
class Spinach::Features::DashboardTaskQueue < Spinach::FeatureSteps
include SharedAuthentication
include SharedPaths
include SharedProject
include SharedUser
step '"John Doe" is a developer of project "Shop"' do
project.team << [john_doe, :developer]
end
step 'I have pending tasks' do
create(:task, user: current_user, project: project, author: john_doe, target: assigned_issue, action: Task::ASSIGNED)
end
step 'I should see pending tasks assigned to me' do
expect(page).to have_link 'Tasks (1)'
expect(page).to have_link 'Done (0)'
page.within('.tasks') do
expect(page).to have_content project.name_with_namespace
expect(page).to have_content "John Doe assigned issue ##{assigned_issue.iid}"
expect(page).to have_content(assigned_issue.title[0..10])
expect(page).to have_link 'Done'
end
end
step 'I mark the pending task as done' do
click_link 'Done'
expect(page).to have_content 'Task was successfully marked as done.'
expect(page).to have_link 'Tasks (0)'
expect(page).to have_link 'Done (1)'
expect(page).to have_content 'No tasks to show'
end
step 'I click on the "Done" tab' do
click_link 'Done (1)'
end
step 'I should see all tasks marked as done' do
page.within('.tasks') do
expect(page).to have_content project.name_with_namespace
expect(page).to have_content "John Doe assigned issue ##{assigned_issue.iid}"
expect(page).to have_content(assigned_issue.title[0..10])
expect(page).not_to have_link 'Done'
end
end
def assigned_issue
@assigned_issue ||= create(:issue, assignee: current_user, project: project)
end
def john_doe
@john_doe ||= user_exists("John Doe", { username: "john_doe" })
end
def project
@project ||= create(:project, name: "Shop")
end
end
Loading
Loading
@@ -103,6 +103,10 @@ module SharedPaths
visit dashboard_groups_path
end
 
step 'I visit dashboard task queue page' do
visit dashboard_tasks_path
end
step 'I should be redirected to the dashboard groups page' do
expect(current_path).to eq dashboard_groups_path
end
Loading
Loading
# == Schema Information
#
# Table name: tasks
#
# id :integer not null, primary key
# user_id :integer not null
# project_id :integer not null
# target_id :integer not null
# target_type :string not null
# author_id :integer
# action :integer
# state :string not null
# created_at :datetime
# updated_at :datetime
#
FactoryGirl.define do
factory :task do
project
author
user
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment