summaryrefslogtreecommitdiff
path: root/spec/views/projects/_home_panel.html.haml_spec.rb
blob: 5af57cdf3b75784a177afb5cd40b1d4ffb8ead63 (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
29
30
31
32
33
34
35
36
37
38
require 'spec_helper'

describe 'projects/_home_panel', :view do
  let(:project) { create(:empty_project, :public) }

  let(:notification_settings) do
    user.notification_settings_for(project) if user
  end

  before do
    assign(:project, project)
    assign(:notification_setting, notification_settings)

    allow(view).to receive(:current_user).and_return(user)
    allow(view).to receive(:can?).and_return(false)
  end

  context 'when user is signed in' do
    let(:user) { create(:user) }

    it 'makes it possible to set notification level' do
      render

      expect(view).to render_template('shared/notifications/_button')
      expect(rendered).to have_selector('.notification-dropdown')
    end
  end

  context 'when user is signed out' do
    let(:user) { nil }

    it 'is not possible to set notification level' do
      render

      expect(rendered).not_to have_selector('.notification_dropdown')
    end
  end
end