Commit 6d7a7707 authored by Grzegorz Bizon's avatar Grzegorz Bizon

Add specs for endpoint meant to be accelerated by workhorse

parent e8995f9f
No related merge requests found
...@@ -7,5 +7,5 @@ ...@@ -7,5 +7,5 @@
= number_to_human_size(file.metadata[:size], precision: 2) = number_to_human_size(file.metadata[:size], precision: 2)
%td %td
= link_to file_namespace_project_build_artifacts_path(path: file.path), = link_to file_namespace_project_build_artifacts_path(path: file.path),
class: 'btn btn-xs btn-default' do class: 'btn btn-xs btn-default artifact-download' do
= icon('download') = icon('download')
...@@ -48,3 +48,11 @@ Feature: Project Builds ...@@ -48,3 +48,11 @@ Feature: Project Builds
And I click artifacts browse button And I click artifacts browse button
And I navigate to parent directory of directory with invalid name And I navigate to parent directory of directory with invalid name
Then I should not see directory with invalid name on the list Then I should not see directory with invalid name on the list
Scenario: I download a single file from build artifacts
Given recent build has artifacts available
And recent build has artifacts metadata available
When I visit recent build summary page
And I click artifacts browse button
And I click download button for a file within build artifacts
Then download of a file extracted from build artifacts should start
...@@ -75,4 +75,15 @@ class Spinach::Features::ProjectBuilds < Spinach::FeatureSteps ...@@ -75,4 +75,15 @@ class Spinach::Features::ProjectBuilds < Spinach::FeatureSteps
expect(page).to have_no_content('non-utf8-dir') expect(page).to have_no_content('non-utf8-dir')
end end
end end
step 'I click download button for a file within build artifacts' do
page.within('.tree-table') { first('.artifact-download').click }
end
step 'download of a file extracted from build artifacts should start' do
# this will be accelerated by Workhorse
response_json = JSON.parse(page.body, symbolize_names: true)
expect(response_json[:archive]).to end_with('build_artifacts.zip')
expect(response_json[:path]).to eq Base64.encode64('ci_artifacts.txt')
end
end end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment