diff options
Diffstat (limited to 'spec/services/projects/update_pages_service_spec.rb')
-rw-r--r-- | spec/services/projects/update_pages_service_spec.rb | 54 |
1 files changed, 28 insertions, 26 deletions
diff --git a/spec/services/projects/update_pages_service_spec.rb b/spec/services/projects/update_pages_service_spec.rb index cbbed82aa0b..24b5e35e422 100644 --- a/spec/services/projects/update_pages_service_spec.rb +++ b/spec/services/projects/update_pages_service_spec.rb @@ -43,6 +43,16 @@ RSpec.describe Projects::UpdatePagesService do expect(project.pages_deployed?).to be_truthy end + it 'publishes a PageDeployedEvent event with project id and namespace id' do + expected_data = { + project_id: project.id, + namespace_id: project.namespace_id, + root_namespace_id: project.root_namespace.id + } + + expect { subject.execute }.to publish_event(Pages::PageDeployedEvent).with(expected_data) + end + it 'creates pages_deployment and saves it in the metadata' do expect do expect(execute).to eq(:success) @@ -161,16 +171,6 @@ RSpec.describe Projects::UpdatePagesService do end end - shared_examples 'fails with outdated reference message' do - it 'fails' do - expect(execute).not_to eq(:success) - expect(project.reload.pages_metadatum).not_to be_deployed - - expect(deploy_status).to be_failed - expect(deploy_status.description).to eq('build SHA is outdated for this ref') - end - end - shared_examples 'successfully deploys' do it 'succeeds' do expect do @@ -202,27 +202,29 @@ RSpec.describe Projects::UpdatePagesService do project.update_pages_deployment!(new_deployment) end - include_examples 'fails with outdated reference message' + it 'fails with outdated reference message' do + expect(execute).to eq(:error) + expect(project.reload.pages_metadatum).not_to be_deployed + + expect(deploy_status).to be_failed + expect(deploy_status.description).to eq('build SHA is outdated for this ref') + end end end - context 'when uploaded deployment size is wrong' do - it 'raises an error' do - allow_next_instance_of(PagesDeployment) do |deployment| - allow(deployment) - .to receive(:size) - .and_return(file.size + 1) - end + it 'fails when uploaded deployment size is wrong' do + allow_next_instance_of(PagesDeployment) do |deployment| + allow(deployment) + .to receive(:size) + .and_return(file.size + 1) + end - expect do - expect(execute).not_to eq(:success) + expect(execute).not_to eq(:success) - expect(GenericCommitStatus.last.description).to eq("Error: The uploaded artifact size does not match the expected value.") - project.pages_metadatum.reload - expect(project.pages_metadatum).not_to be_deployed - expect(project.pages_metadatum.pages_deployment).to be_ni - end.to raise_error(Projects::UpdatePagesService::WrongUploadedDeploymentSizeError) - end + expect(GenericCommitStatus.last.description).to eq('The uploaded artifact size does not match the expected value') + project.pages_metadatum.reload + expect(project.pages_metadatum).not_to be_deployed + expect(project.pages_metadatum.pages_deployment).to be_nil end end end |