summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2018-07-05 12:31:59 +0200
committerRémy Coutable <remy@rymai.me>2018-07-05 12:31:59 +0200
commit781ca30a330120ca11f7b91658e2ceb40f147f0b (patch)
treeb7904a1fcad13309956026e7c6f95444556e3826
parentfe695ebd24e59f82d16aba629dd6d117be3ee5bb (diff)
downloadgitlab-ce-48837-red-master-file-blob-markdown-file-visiting-directly-displays-the-blob-using-the-rich-viewer.tar.gz
Try to make spec/features/projects/blobs/blob_show_spec.rb more robust48837-red-master-file-blob-markdown-file-visiting-directly-displays-the-blob-using-the-rich-viewer
Signed-off-by: Rémy Coutable <remy@rymai.me>
-rw-r--r--spec/features/projects/blobs/blob_show_spec.rb88
1 files changed, 23 insertions, 65 deletions
diff --git a/spec/features/projects/blobs/blob_show_spec.rb b/spec/features/projects/blobs/blob_show_spec.rb
index 7280d421cea..0b5f315cde9 100644
--- a/spec/features/projects/blobs/blob_show_spec.rb
+++ b/spec/features/projects/blobs/blob_show_spec.rb
@@ -7,15 +7,11 @@ describe 'File blob', :js do
def visit_blob(path, anchor: nil, ref: 'master')
visit project_blob_path(project, File.join(ref, path), anchor: anchor)
-
- wait_for_requests
end
context 'Ruby file' do
before do
visit_blob('files/ruby/popen.rb')
-
- wait_for_requests
end
it 'displays the blob' do
@@ -50,69 +46,45 @@ describe 'File blob', :js do
context 'visiting directly' do
before do
visit_blob('files/markdown/ruby-style-guide.md')
-
- wait_for_requests
end
it 'displays the blob using the rich viewer' do
- aggregate_failures do
- # hides the simple viewer
- expect(page).to have_selector('.blob-viewer[data-type="simple"]', visible: false)
- expect(page).to have_selector('.blob-viewer[data-type="rich"]')
+ # shows rendered Markdown
+ expect(page).to have_link("PEP-8")
- # shows rendered Markdown
- expect(page).to have_link("PEP-8")
+ # hides the simple viewer
+ expect(page).to have_selector('.blob-viewer[data-type="simple"]', visible: false)
+ expect(page).to have_selector('.blob-viewer[data-type="rich"]')
- # shows a viewer switcher
- expect(page).to have_selector('.js-blob-viewer-switcher')
+ # shows a viewer switcher
+ expect(page).to have_selector('.js-blob-viewer-switcher')
- # shows a disabled copy button
- expect(page).to have_selector('.js-copy-blob-source-btn.disabled')
+ # shows a disabled copy button
+ expect(page).to have_selector('.js-copy-blob-source-btn.disabled')
- # shows a raw button
- expect(page).to have_link('Open raw')
- end
+ # shows a raw button
+ expect(page).to have_link('Open raw')
end
context 'switching to the simple viewer' do
before do
- find('.js-blob-viewer-switch-btn[data-viewer=simple]').click
-
- wait_for_requests
end
it 'displays the blob using the simple viewer' do
- aggregate_failures do
- # hides the rich viewer
- expect(page).to have_selector('.blob-viewer[data-type="simple"]')
- expect(page).to have_selector('.blob-viewer[data-type="rich"]', visible: false)
-
- # shows highlighted Markdown code
- expect(page).to have_css(".js-syntax-highlight")
- expect(page).to have_content("[PEP-8](http://www.python.org/dev/peps/pep-0008/)")
-
- # shows an enabled copy button
- expect(page).to have_selector('.js-copy-blob-source-btn:not(.disabled)')
- end
- end
+ find('.js-blob-viewer-switch-btn[data-viewer=simple]').click
- context 'switching to the rich viewer again' do
- before do
- find('.js-blob-viewer-switch-btn[data-viewer=rich]').click
+ wait_for_requests
- wait_for_requests
- end
+ # shows highlighted Markdown code
+ expect(page).to have_content("[PEP-8](http://www.python.org/dev/peps/pep-0008/)")
+ expect(page).to have_css(".js-syntax-highlight")
- it 'displays the blob using the rich viewer' do
- aggregate_failures do
- # hides the simple viewer
- expect(page).to have_selector('.blob-viewer[data-type="simple"]', visible: false)
- expect(page).to have_selector('.blob-viewer[data-type="rich"]')
+ # hides the rich viewer
+ expect(page).to have_selector('.blob-viewer[data-type="simple"]')
+ expect(page).to have_selector('.blob-viewer[data-type="rich"]', visible: false)
- # shows an enabled copy button
- expect(page).to have_selector('.js-copy-blob-source-btn:not(.disabled)')
- end
- end
+ # shows an enabled copy button
+ expect(page).to have_selector('.js-copy-blob-source-btn:not(.disabled)')
end
end
end
@@ -159,12 +131,10 @@ describe 'File blob', :js do
context 'when LFS is enabled on the project' do
before do
- allow(Gitlab.config.lfs).to receive(:enabled).and_return(true)
+ stub_lfs_setting(enabled: true)
project.update_attribute(:lfs_enabled, true)
visit_blob('files/lfs/file.md')
-
- wait_for_requests
end
it 'displays an error' do
@@ -213,8 +183,6 @@ describe 'File blob', :js do
context 'when LFS is disabled on the project' do
before do
visit_blob('files/lfs/file.md')
-
- wait_for_requests
end
it 'displays the blob' do
@@ -250,8 +218,6 @@ describe 'File blob', :js do
).execute
visit_blob('files/test.pdf')
-
- wait_for_requests
end
it 'displays the blob' do
@@ -274,12 +240,10 @@ describe 'File blob', :js do
context 'ISO file (stored in LFS)' do
context 'when LFS is enabled on the project' do
before do
- allow(Gitlab.config.lfs).to receive(:enabled).and_return(true)
+ stub_lfs_setting(enabled: true)
project.update_attribute(:lfs_enabled, true)
visit_blob('files/lfs/lfs_object.iso')
-
- wait_for_requests
end
it 'displays the blob' do
@@ -302,8 +266,6 @@ describe 'File blob', :js do
context 'when LFS is disabled on the project' do
before do
visit_blob('files/lfs/lfs_object.iso')
-
- wait_for_requests
end
it 'displays the blob' do
@@ -327,8 +289,6 @@ describe 'File blob', :js do
context 'ZIP file' do
before do
visit_blob('Gemfile.zip')
-
- wait_for_requests
end
it 'displays the blob' do
@@ -363,8 +323,6 @@ describe 'File blob', :js do
).execute
visit_blob('files/empty.md')
-
- wait_for_requests
end
it 'displays an error' do