diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2019-12-17 21:07:48 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2019-12-17 21:07:48 +0300 |
commit | e72386771751fb22245bc6604fef236a2ee130cb (patch) | |
tree | 7cf54bca933159cb177d3caa2f139f87d6d30391 /spec/features/snippets | |
parent | c2b98d3dbd47ab92c79c702276fe9130d9a28036 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/features/snippets')
-rw-r--r-- | spec/features/snippets/explore_spec.rb | 63 |
1 files changed, 46 insertions, 17 deletions
diff --git a/spec/features/snippets/explore_spec.rb b/spec/features/snippets/explore_spec.rb index 57e91fea709..2075742eafb 100644 --- a/spec/features/snippets/explore_spec.rb +++ b/spec/features/snippets/explore_spec.rb @@ -6,30 +6,59 @@ describe 'Explore Snippets' do let!(:public_snippet) { create(:personal_snippet, :public) } let!(:internal_snippet) { create(:personal_snippet, :internal) } let!(:private_snippet) { create(:personal_snippet, :private) } + let(:user) { nil } - it 'User should see snippets that are not private' do - sign_in create(:user) + before do + sign_in(user) if user visit explore_snippets_path - - expect(page).to have_content(public_snippet.title) - expect(page).to have_content(internal_snippet.title) - expect(page).not_to have_content(private_snippet.title) end - it 'External user should see only public snippets' do - sign_in create(:user, :external) - visit explore_snippets_path + context 'User' do + let(:user) { create(:user) } + + it 'see snippets that are not private' do + expect(page).to have_content(public_snippet.title) + expect(page).to have_content(internal_snippet.title) + expect(page).not_to have_content(private_snippet.title) + end - expect(page).to have_content(public_snippet.title) - expect(page).not_to have_content(internal_snippet.title) - expect(page).not_to have_content(private_snippet.title) + it 'shows new snippet button in header' do + parent_element = page.find('.page-title-controls') + expect(parent_element).to have_link('New snippet') + end end - it 'Not authenticated user should see only public snippets' do - visit explore_snippets_path + context 'External user' do + let(:user) { create(:user, :external) } + + it 'see only public snippets' do + expect(page).to have_content(public_snippet.title) + expect(page).not_to have_content(internal_snippet.title) + expect(page).not_to have_content(private_snippet.title) + end + + context 'without snippets' do + before do + Snippet.delete_all + end + + it 'hides new snippet button' do + expect(page).not_to have_link('New snippet') + end + end + + context 'with snippets' do + it 'hides new snippet button' do + expect(page).not_to have_link('New snippet') + end + end + end - expect(page).to have_content(public_snippet.title) - expect(page).not_to have_content(internal_snippet.title) - expect(page).not_to have_content(private_snippet.title) + context 'Not authenticated user' do + it 'see only public snippets' do + expect(page).to have_content(public_snippet.title) + expect(page).not_to have_content(internal_snippet.title) + expect(page).not_to have_content(private_snippet.title) + end end end |