Skip to content

Commit 6962b57

Browse files
committed
fix event specs and factories
1 parent 75dd1e7 commit 6962b57

File tree

4 files changed

+25
-11
lines changed

4 files changed

+25
-11
lines changed
Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
# frozen_string_literal: true
22

3+
require 'faker'
4+
35
FactoryBot.define do
4-
factory :event do # rubocop:todo Lint/EmptyBlock
6+
factory :event, class: 'BetterTogether::Event' do
7+
name { "Event \#{Faker::Lorem.unique.word}" }
8+
starts_at { 1.day.from_now }
9+
10+
trait :draft do
11+
after(:create) { |event| event.update_column(:starts_at, nil) }
12+
end
513
end
614
end

spec/factories/better_together/users.rb

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,13 @@
2020

2121
trait :platform_manager do
2222
after(:create) do |user|
23-
host_platform = BetterTogether::Platform.find_or_create_by(host: true)
24-
platform_manager_role = BetterTogether::Role.find_by(identifier: 'platform_manager')
23+
host_platform = BetterTogether::Platform.find_by(host: true) || create(:platform, :host)
24+
platform_manager_role = BetterTogether::Role.find_by(identifier: 'platform_manager') ||
25+
create(:better_together_role,
26+
identifier: 'platform_manager',
27+
name: 'Platform Manager',
28+
resource_type: 'BetterTogether::Platform',
29+
protected: true)
2530
host_platform.person_platform_memberships.create!(
2631
member: user.person,
2732
role: platform_manager_role

spec/features/events/index_spec.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010
login_as_platform_manager
1111
end
1212

13-
let!(:draft_event) { BetterTogether::Event.create!(name: 'Draft Event') }
14-
let!(:upcoming_event) { BetterTogether::Event.create!(name: 'Upcoming Event', starts_at: 1.day.from_now) }
15-
let!(:past_event) { BetterTogether::Event.create!(name: 'Past Event', starts_at: 2.days.ago) }
13+
let!(:draft_event) { create(:event, :draft, name: 'Draft Event') }
14+
let!(:upcoming_event) { create(:event, name: 'Upcoming Event', starts_at: 1.day.from_now) }
15+
let!(:past_event) { create(:event, name: 'Past Event', starts_at: 2.days.ago) }
1616

1717
scenario 'displays events grouped by status' do
1818
visit events_path(locale: I18n.default_locale)

spec/requests/better_together/events_spec.rb

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
let(:locale) { I18n.default_locale }
1010

1111
describe 'GET /events' do
12-
let!(:event) { BetterTogether::Event.create!(name: 'Sample Event') }
12+
let!(:event) { create(:event) }
1313

1414
it 'returns http success' do
1515
get events_path(locale: locale)
@@ -24,28 +24,29 @@
2424

2525
it 'creates an event' do
2626
expect do
27-
post events_path(locale: locale), params: { event: { name: 'New Event' } }
27+
post events_path(locale: locale),
28+
params: { event: { name: 'New Event', starts_at: 1.day.from_now } }
2829
end.to change(BetterTogether::Event, :count).by(1)
2930
expect(response).to redirect_to(event_path(BetterTogether::Event.last, locale: locale))
3031
end
3132
end
3233

3334
describe 'PATCH /events/:id' do
3435
let(:user) { create(:better_together_user, :confirmed, :platform_manager) }
35-
let!(:event) { BetterTogether::Event.create!(name: 'Old Name', creator: user.person) }
36+
let!(:event) { create(:event, name: 'Old Name', creator: user.person) }
3637

3738
before { login(user) }
3839

3940
it 'updates the event' do
40-
patch event_path(event, locale: locale), params: { event: { name: 'Updated Name' } }
41+
patch event_path(event, locale: locale), params: { event: { name: 'Updated Name', starts_at: 1.day.from_now } }
4142
expect(response).to redirect_to(edit_event_path(event, locale: locale))
4243
expect(event.reload.name).to eq('Updated Name')
4344
end
4445
end
4546

4647
describe 'DELETE /events/:id' do
4748
let(:user) { create(:better_together_user, :confirmed, :platform_manager) }
48-
let!(:event) { BetterTogether::Event.create!(name: 'Delete Me', creator: user.person) }
49+
let!(:event) { create(:event, name: 'Delete Me', creator: user.person) }
4950

5051
before { login(user) }
5152

0 commit comments

Comments
 (0)