31 lines
811 B
Ruby
31 lines
811 B
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
RSpec.shared_examples 'pages size limit is' do |size_limit|
|
||
|
context "when size is below the limit" do
|
||
|
before do
|
||
|
allow(metadata).to receive(:total_size).and_return(size_limit - 1.megabyte)
|
||
|
end
|
||
|
|
||
|
it 'updates pages correctly' do
|
||
|
subject.execute
|
||
|
|
||
|
expect(deploy_status.description).not_to be_present
|
||
|
expect(project.pages_metadatum).to be_deployed
|
||
|
end
|
||
|
end
|
||
|
|
||
|
context "when size is above the limit" do
|
||
|
before do
|
||
|
allow(metadata).to receive(:total_size).and_return(size_limit + 1.megabyte)
|
||
|
end
|
||
|
|
||
|
it 'limits the maximum size of gitlab pages' do
|
||
|
subject.execute
|
||
|
|
||
|
expect(deploy_status.description)
|
||
|
.to match(/artifacts for pages are too large/)
|
||
|
expect(deploy_status).to be_script_failure
|
||
|
end
|
||
|
end
|
||
|
end
|