RSpec.shared_examples 'project hook data' do |project_key: :project| it 'contains project data' do expect(data[project_key][:name]).to eq(project.name) expect(data[project_key][:description]).to eq(project.description) expect(data[project_key][:web_url]).to eq(project.web_url) expect(data[project_key][:avatar_url]).to eq(project.avatar_url) expect(data[project_key][:git_http_url]).to eq(project.http_url_to_repo) expect(data[project_key][:git_ssh_url]).to eq(project.ssh_url_to_repo) expect(data[project_key][:namespace]).to eq(project.namespace.name) expect(data[project_key][:visibility_level]).to eq(project.visibility_level) expect(data[project_key][:path_with_namespace]).to eq(project.path_with_namespace) expect(data[project_key][:default_branch]).to eq(project.default_branch) expect(data[project_key][:homepage]).to eq(project.web_url) expect(data[project_key][:url]).to eq(project.url_to_repo) expect(data[project_key][:ssh_url]).to eq(project.ssh_url_to_repo) expect(data[project_key][:http_url]).to eq(project.http_url_to_repo) end end RSpec.shared_examples 'deprecated repository hook data' do |project_key: :project| it 'contains deprecated repository data' do expect(data[:repository][:name]).to eq(project.name) expect(data[:repository][:description]).to eq(project.description) expect(data[:repository][:url]).to eq(project.url_to_repo) expect(data[:repository][:homepage]).to eq(project.web_url) end end