diff options
Diffstat (limited to 'spec/controllers/lines_controller_spec.rb')
| -rw-r--r-- | spec/controllers/lines_controller_spec.rb | 38 | 
1 files changed, 38 insertions, 0 deletions
| diff --git a/spec/controllers/lines_controller_spec.rb b/spec/controllers/lines_controller_spec.rb new file mode 100644 index 000000000..ce5adbbdd --- /dev/null +++ b/spec/controllers/lines_controller_spec.rb @@ -0,0 +1,38 @@ +RSpec.describe LinesController, :type => :controller do +  login_user + +  let(:line_referential) { create :line_referential } +  let(:line) { create :line, line_referential: line_referential } + +  describe 'PUT deactivate' do +    let(:request){ put :deactivate, id: line.id, line_referential_id: line_referential.id } + +    it 'should redirect to 403' do +       expect(request).to redirect_to "/403" +    end + +    with_permission "lines.change_status" do +      it 'returns HTTP success' do +        expect(request).to redirect_to [line_referential, line] +        expect(line.reload).to be_deactivated +      end +    end +  end + +  describe 'PUT activate' do +    let(:request){ put :activate, id: line.id, line_referential_id: line_referential.id } +    before(:each){ +      line.deactivate! +    } +    it 'should redirect to 403' do +       expect(request).to redirect_to "/403" +    end + +    with_permission "lines.change_status" do +      it 'returns HTTP success' do +        expect(request).to redirect_to [line_referential, line] +        expect(line.reload).to be_activated +      end +    end +  end +end | 
