mirror of
https://github.com/indentlabs/notebook.git
synced 2025-10-26 11:19:22 +00:00
87 lines
2.3 KiB
Ruby
87 lines
2.3 KiB
Ruby
When 'I sign up' do
|
|
@user = build(:user)
|
|
|
|
visit new_user_registration_path
|
|
fill_in 'user_name', with: 'User Name'
|
|
fill_in 'user_email', with: @user.email
|
|
fill_in 'user_password', with: 'password'
|
|
fill_in 'user_password_confirmation', with: 'password'
|
|
click_button 'Sign up'
|
|
|
|
@user = User.where(email: @user.email).first
|
|
end
|
|
|
|
Given 'I have an account' do
|
|
step('I sign up')
|
|
end
|
|
|
|
When 'I log in' do
|
|
step('I log out')
|
|
visit new_user_session_path
|
|
fill_in 'user_email', with: @user.email
|
|
fill_in 'user_password', with: 'password'
|
|
click_button 'Log in'
|
|
end
|
|
|
|
Given 'I am logged-in' do
|
|
step('I sign up')
|
|
end
|
|
|
|
When 'I log out' do
|
|
visit destroy_user_session_path
|
|
end
|
|
|
|
When(/^I view the dashboard/) do
|
|
visit dashboard_path
|
|
end
|
|
|
|
Then 'I should see my dashboard' do
|
|
expect(current_path).to eq(dashboard_path)
|
|
end
|
|
|
|
When(/^I create a (character|location|item|universe)$/) do |model|
|
|
visit new_polymorphic_path(model)
|
|
fill_in("#{model}_custom_attribute_values__value", with: 'My new content', match: :first)
|
|
click_on "Create"
|
|
@model = model.classify.constantize.where(name: 'My new content', user: @user).first
|
|
end
|
|
|
|
Then(/^that (character|location|item|universe) should be saved$/) do |model|
|
|
expect(@user.send(model.pluralize).length).to eq(1)
|
|
end
|
|
|
|
Given(/^I have created a (character|location|item|universe)$/) do |model|
|
|
@model = create(model.to_sym, user: @user)
|
|
end
|
|
|
|
When(/^I change my (character|location|item|universe)\'s name$/) do |model|
|
|
visit polymorphic_path(@model)
|
|
click_on 'edit'
|
|
fill_in("#{model}_custom_attribute_values__value", with: "My changed name", match: :first)
|
|
click_on 'save'
|
|
@model.reload
|
|
end
|
|
|
|
When(/^I view that (character|location|item|universe)$/) do |_model|
|
|
visit polymorphic_path(@model)
|
|
end
|
|
|
|
Then(/^that new name should be saved$/) do
|
|
expect(@model.name_field_value).to eq('My changed name')
|
|
end
|
|
|
|
When 'I answer the Serendipitous question' do
|
|
@modified_field_name = find(:css, '.content-question-input')[:id].split('_', 2)[1]
|
|
@model[@modified_field_name] = 'Previous Value'
|
|
@model.save
|
|
@previous_field_value = @model[@modified_field_name]
|
|
|
|
find(:css, '.content-question-input').set('Content Question Answer')
|
|
find('.js-content-question-submit').click
|
|
end
|
|
|
|
Then 'that new field should be saved' do
|
|
@model.reload
|
|
expect(@model[@modified_field_name]).to eq('Content Question Answer')
|
|
end
|