diff options
author | Luke "Jared" Bennett <lbennett@gitlab.com> | 2017-04-05 12:43:03 +0000 |
---|---|---|
committer | Jacob Schatz <jschatz@gitlab.com> | 2017-04-05 12:43:03 +0000 |
commit | 7c5198219aacaf18bfc7e8c523dcfa15d013139a (patch) | |
tree | 275c5f2cedbd6eccc98c66feb59e310c903b9cb1 /spec/features/groups | |
parent | a40e357f27ddcefa9ef70be84c7e7ee0f3b15e02 (diff) | |
download | gitlab-ce-7c5198219aacaf18bfc7e8c523dcfa15d013139a.tar.gz |
MR empty state
Diffstat (limited to 'spec/features/groups')
-rw-r--r-- | spec/features/groups/empty_states_spec.rb | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/spec/features/groups/empty_states_spec.rb b/spec/features/groups/empty_states_spec.rb new file mode 100644 index 00000000000..fef8e41bffe --- /dev/null +++ b/spec/features/groups/empty_states_spec.rb @@ -0,0 +1,70 @@ +require 'spec_helper' + +feature 'Groups Merge Requests Empty States' do + let(:group) { create(:group) } + let(:user) { create(:group_member, :developer, user: create(:user), group: group ).user } + + before do + login_as(user) + end + + context 'group has a project' do + let(:project) { create(:empty_project, namespace: group) } + + before do + project.add_master(user) + end + + context 'the project has a merge request' do + before do + create(:merge_request, source_project: project) + + visit merge_requests_group_path(group) + end + + it 'should not display an empty state' do + expect(page).not_to have_selector('.empty-state') + end + end + + context 'the project has no merge requests', :js do + before do + visit merge_requests_group_path(group) + end + + it 'should display an empty state' do + expect(page).to have_selector('.empty-state') + end + + it 'should show a new merge request button' do + within '.empty-state' do + expect(page).to have_content('New merge request') + end + end + + it 'the new merge request button opens a project dropdown' do + within '.empty-state' do + find('.new-project-item-select-button').click + end + + expect(page).to have_selector('.ajax-project-dropdown') + end + end + end + + context 'group without a project' do + before do + visit merge_requests_group_path(group) + end + + it 'should display an empty state' do + expect(page).to have_selector('.empty-state') + end + + it 'should not show a new merge request button' do + within '.empty-state' do + expect(page).not_to have_link('New merge request') + end + end + end +end |