-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
# frozen_string_literal: true | ||
|
||
#-- copyright | ||
# OpenProject is an open source project management software. | ||
# Copyright (C) the OpenProject GmbH | ||
# | ||
# This program is free software; you can redistribute it and/or | ||
# modify it under the terms of the GNU General Public License version 3. | ||
# | ||
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: | ||
# Copyright (C) 2006-2013 Jean-Philippe Lang | ||
# Copyright (C) 2010-2013 the ChiliProject Team | ||
# | ||
# This program is free software; you can redistribute it and/or | ||
# modify it under the terms of the GNU General Public License | ||
# as published by the Free Software Foundation; either version 2 | ||
# of the License, or (at your option) any later version. | ||
# | ||
# This program is distributed in the hope that it will be useful, | ||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
# GNU General Public License for more details. | ||
# | ||
# You should have received a copy of the GNU General Public License | ||
# along with this program; if not, write to the Free Software | ||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
# | ||
# See COPYRIGHT and LICENSE files for more details. | ||
#++ | ||
|
||
require "rails_helper" | ||
|
||
RSpec.describe Meetings::HeaderComponent, type: :component do | ||
let(:project) { build_stubbed(:project) } | ||
let(:meeting) { build_stubbed(:meeting, project:) } | ||
let(:user) { build_stubbed(:user) } | ||
|
||
subject do | ||
render_inline(described_class.new(meeting:, project:)) | ||
page | ||
end | ||
|
||
before do | ||
login_as(user) | ||
end | ||
|
||
describe "send mail invitation" do | ||
context "when allowed" do | ||
before do | ||
mock_permissions_for(user) do |mock| | ||
mock.allow_in_project(:send_meeting_agendas_notification, project:) | ||
end | ||
end | ||
|
||
context 'when open' do | ||
Check notice on line 55 in modules/meeting/spec/components/meetings/header_component_spec.rb GitHub Actions / rubocop[rubocop] modules/meeting/spec/components/meetings/header_component_spec.rb#L55 <Style/StringLiterals>
Raw output
|
||
let(:meeting) { build_stubbed(:meeting, project:, state: :open) } | ||
|
||
it "renders the mail invitation" do | ||
expect(subject).to have_text I18n.t('meeting.label_mail_all_participants') | ||
Check notice on line 59 in modules/meeting/spec/components/meetings/header_component_spec.rb GitHub Actions / rubocop[rubocop] modules/meeting/spec/components/meetings/header_component_spec.rb#L59 <Style/StringLiterals>
Raw output
|
||
end | ||
end | ||
|
||
context 'when closed' do | ||
Check notice on line 63 in modules/meeting/spec/components/meetings/header_component_spec.rb GitHub Actions / rubocop[rubocop] modules/meeting/spec/components/meetings/header_component_spec.rb#L63 <Style/StringLiterals>
Raw output
|
||
let(:meeting) { build_stubbed(:meeting, project:, state: :closed) } | ||
|
||
it "does not render the mail invitation" do | ||
expect(subject).not_to have_text I18n.t('meeting.label_mail_all_participants') | ||
Check notice on line 67 in modules/meeting/spec/components/meetings/header_component_spec.rb GitHub Actions / rubocop[rubocop] modules/meeting/spec/components/meetings/header_component_spec.rb#L67 <Capybara/NegationMatcher>
Raw output
Check notice on line 67 in modules/meeting/spec/components/meetings/header_component_spec.rb GitHub Actions / rubocop[rubocop] modules/meeting/spec/components/meetings/header_component_spec.rb#L67 <Style/StringLiterals>
Raw output
|
||
end | ||
end | ||
end | ||
|
||
context "when not allowed" do | ||
let(:meeting) { build_stubbed(:meeting, project:, state: :open) } | ||
|
||
it "does not render the mail invitation" do | ||
expect(subject).not_to have_text I18n.t('meeting.label_mail_all_participants') | ||
Check notice on line 76 in modules/meeting/spec/components/meetings/header_component_spec.rb GitHub Actions / rubocop[rubocop] modules/meeting/spec/components/meetings/header_component_spec.rb#L76 <Capybara/NegationMatcher>
Raw output
Check notice on line 76 in modules/meeting/spec/components/meetings/header_component_spec.rb GitHub Actions / rubocop[rubocop] modules/meeting/spec/components/meetings/header_component_spec.rb#L76 <Style/StringLiterals>
Raw output
|
||
end | ||
end | ||
end | ||
end |