summaryrefslogtreecommitdiff
path: root/spec/controllers/projects/protected_tags_controller_spec.rb
blob: 1553e081dee2d18c5d1bd5fb739a111a0b89943c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
require('spec_helper')

describe Projects::ProtectedTagsController do
  describe "GET #index" do
    let(:project) { create(:project_empty_repo, :public) }

    it "redirects empty repo to projects page" do
      get(:index, params: { namespace_id: project.namespace.to_param, project_id: project })
    end
  end

  describe "DELETE #destroy" do
    let(:project) { create(:project, :repository) }
    let(:protected_tag) { create(:protected_tag, :developers_can_create, project: project) }
    let(:user) { create(:user) }

    before do
      project.add_maintainer(user)
      sign_in(user)
    end

    it "deletes the protected tag" do
      delete(:destroy, params: { namespace_id: project.namespace.to_param, project_id: project, id: protected_tag.id })

      expect { ProtectedTag.find(protected_tag.id) }.to raise_error(ActiveRecord::RecordNotFound)
    end
  end
end