main
 1require 'rails_helper'
 2
 3describe EnvironmentsController do
 4  let(:user) { create(:user) }
 5
 6  before { http_login(user) }
 7
 8  describe '#index' do
 9    let(:first_env) { create(:environment) }
10    let(:second_env) { create(:environment) }
11
12    it 'returns environments' do
13      xhr :get, :index, ids: [first_env.id, second_env.id]
14      expect(assigns(:environments)).to match_array([first_env, second_env])
15    end
16  end
17
18  describe "#show" do
19    render_views
20
21    let(:environment) { create(:environment) }
22
23    it 'returns info on the environment' do
24      xhr :get, :show, id: environment.id
25      expect(assigns(:environment)).to eql(environment)
26    end
27  end
28
29  describe "#create" do
30    let(:service) { create(:service) }
31
32    it 'creates a new environment' do
33      xhr :post, :create, environment: { name: 'development', service_id: service.id }
34
35      expect(Environment.count).to eql(1)
36      expect(Environment.last.name).to eql('development')
37    end
38  end
39
40  describe "#destroy" do
41    let(:environment) { create(:environment) }
42
43    it 'deletes the environment' do
44      xhr :delete, :destroy, id: environment.id
45      expect(Environment.count).to eql(0)
46    end
47  end
48end