summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatija Čupić <matteeyah@gmail.com>2019-09-12 12:16:04 +0200
committerMatija Čupić <matteeyah@gmail.com>2019-09-12 12:16:04 +0200
commit946afebd6602bee772eef5fc9447fb59a7bbd2e1 (patch)
tree43243ccda31c2bd13c148429c39b5c3e49e2790e
parent54a3ec47e2ef169c998304a4a67d6bc6e66657fb (diff)
downloadgitlab-ce-mc/feature/artifacts-page-backend.tar.gz
Calculate artifact size properlymc/feature/artifacts-page-backend
-rw-r--r--app/controllers/projects/artifacts_controller.rb6
-rw-r--r--spec/controllers/projects/artifacts_controller_spec.rb6
2 files changed, 10 insertions, 2 deletions
diff --git a/app/controllers/projects/artifacts_controller.rb b/app/controllers/projects/artifacts_controller.rb
index 7424b521cba..54bc3b5c125 100644
--- a/app/controllers/projects/artifacts_controller.rb
+++ b/app/controllers/projects/artifacts_controller.rb
@@ -17,8 +17,10 @@ class Projects::ArtifactsController < Projects::ApplicationController
def index
finder = ArtifactsFinder.new(@project, artifacts_params)
- @artifacts = finder.execute.page(params[:page]).per(MAX_PER_PAGE)
- @total_size = @artifacts.total_size
+ all_artifacts = finder.execute
+
+ @artifacts = all_artifacts.page(params[:page]).per(MAX_PER_PAGE)
+ @total_size = all_artifacts.total_size
end
def destroy
diff --git a/spec/controllers/projects/artifacts_controller_spec.rb b/spec/controllers/projects/artifacts_controller_spec.rb
index e813ce3906c..b118ded7243 100644
--- a/spec/controllers/projects/artifacts_controller_spec.rb
+++ b/spec/controllers/projects/artifacts_controller_spec.rb
@@ -29,6 +29,12 @@ describe Projects::ArtifactsController do
expect(assigns(:artifacts)).to contain_exactly(*project.job_artifacts)
end
+ it 'sets the total size variable' do
+ subject
+
+ expect(assigns(:total_size)).to eq(project.job_artifacts.total_size)
+ end
+
describe 'pagination' do
before do
stub_const("#{described_class}::MAX_PER_PAGE", 1)