40 lines
1.1 KiB
Ruby
40 lines
1.1 KiB
Ruby
require 'rails_helper'
|
|
require 'date'
|
|
|
|
feature "Admin creates new event" do
|
|
let(:admin) { create(:user, :super_admin) }
|
|
|
|
background do
|
|
login_via_session_as admin
|
|
end
|
|
|
|
before do
|
|
visit "/internal/events"
|
|
end
|
|
|
|
def select_date_and_time(year, month, date, hour, min, field_name)
|
|
select (year), :from => "event[#{field_name}(1i)]"
|
|
select (month), :from => "event[#{field_name}(2i)]"
|
|
select (date), :from => "event[#{field_name}(3i)]"
|
|
select (hour), :from => "event[#{field_name}(4i)]"
|
|
select (min), :from => "event[#{field_name}(5i)]"
|
|
end
|
|
|
|
def create_and_publish_event
|
|
fill_in("Title", with: "Workshop Title")
|
|
select_date_and_time("2023", "December", "30","15", "30", "starts_at")
|
|
select_date_and_time("2023", "December", "30","16", "30", "ends_at")
|
|
check("event[published]")
|
|
click_button("Create Event")
|
|
end
|
|
|
|
scenario "load internal/events" do
|
|
expect(page).to have_content("Create Event")
|
|
end
|
|
|
|
scenario "published event loads on /event" do
|
|
create_and_publish_event
|
|
visit "/events"
|
|
expect(page).to have_content("Workshop Title")
|
|
end
|
|
end
|