Added tests

This commit is contained in:
Phil Hughes 2016-10-04 12:53:39 +01:00
parent a9c98be056
commit 284af578f3
2 changed files with 81 additions and 1 deletions

View file

@ -19,7 +19,7 @@
- if can? current_user, :create_issue, @project - if can? current_user, :create_issue, @project
%button.btn.btn-small.btn-default.pull-right{ type: "button", %button.btn.btn-small.btn-default.pull-right{ type: "button",
"@click" => "showNewIssueForm", "@click" => "showNewIssueForm",
"v-if" => "list.type !== 'done'" } "v-if" => "list.type !== 'done' && list.type !== 'blank'" }
= icon("plus") = icon("plus")
- if can?(current_user, :admin_list, @project) - if can?(current_user, :admin_list, @project)
%board-delete{ "inline-template" => true, %board-delete{ "inline-template" => true,

View file

@ -0,0 +1,80 @@
require 'rails_helper'
describe 'Issue Boards new issue', feature: true, js: true do
include WaitForAjax
include WaitForVueResource
let(:project) { create(:project_with_board, :public) }
let(:user) { create(:user) }
context 'authorized user' do
before do
project.team << [user, :master]
login_as(user)
visit namespace_project_board_path(project.namespace, project)
wait_for_vue_resource
expect(page).to have_selector('.board', count: 3)
end
it 'displays new issue button' do
expect(page).to have_selector('.board-issue-count-holder .btn', count: 1)
end
it 'does not display new issue button in done list' do
page.within('.board:nth-child(3)') do
expect(page).not_to have_selector('.board-issue-count-holder .btn')
end
end
it 'shows form when clicking button' do
page.within(first('.board')) do
find('.board-issue-count-holder .btn').click
expect(page).to have_selector('.board-new-issue-form')
end
end
it 'hides form when clicking cancel' do
page.within(first('.board')) do
find('.board-issue-count-holder .btn').click
expect(page).to have_selector('.board-new-issue-form')
click_button 'Cancel'
expect(page).to have_selector('.board-new-issue-form', visible: false)
end
end
it 'creates new issue' do
page.within(first('.board')) do
find('.board-issue-count-holder .btn').click
end
page.within(first('.board-new-issue-form')) do
find('.form-control').set('bug')
click_button 'Submit issue'
end
wait_for_vue_resource
page.within(first('.board .board-issue-count')) do
expect(page).to have_content('1')
end
end
end
context 'unauthorized user' do
before do
visit namespace_project_board_path(project.namespace, project)
wait_for_vue_resource
end
it 'does not display new issue button' do
expect(page).to have_selector('.board-issue-count-holder .btn', count: 0)
end
end
end