Merge pull request #2775 from consul/proposals-responsible-name

Fix validation error when creating proposals without user verification
This commit is contained in:
Raimond Garcia
2018-07-20 12:51:01 +02:00
committed by GitHub
2 changed files with 43 additions and 2 deletions

View File

@@ -36,12 +36,12 @@ class Proposal < ActiveRecord::Base
validates :question, presence: true
validates :summary, presence: true
validates :author, presence: true
validates :responsible_name, presence: true
validates :responsible_name, presence: true, unless: :skip_user_verification?
validates :title, length: { in: 4..Proposal.title_max_length }
validates :description, length: { maximum: Proposal.description_max_length }
validates :question, length: { in: 10..Proposal.question_max_length }
validates :responsible_name, length: { in: 6..Proposal.responsible_name_max_length }
validates :responsible_name, length: { in: 6..Proposal.responsible_name_max_length }, unless: :skip_user_verification?
validates :retired_reason, inclusion: { in: RETIRE_OPTIONS, allow_nil: true }
validates :terms_of_service, acceptance: { allow_nil: false }, on: :create
@@ -214,6 +214,10 @@ class Proposal < ActiveRecord::Base
return orders
end
def skip_user_verification?
Setting["feature.user.skip_verification"].present?
end
protected
def set_responsible_name

View File

@@ -1804,4 +1804,41 @@ feature 'Successful proposals' do
end
end
context "Skip user verification" do
before do
Setting["feature.user.skip_verification"] = 'true'
end
after do
Setting["feature.user.skip_verification"] = nil
end
scenario "Create" do
author = create(:user)
login_as(author)
visit proposals_path
within('aside') do
click_link 'Create a proposal'
end
expect(current_path).to eq(new_proposal_path)
fill_in 'proposal_title', with: 'Help refugees'
fill_in 'proposal_summary', with: 'In summary what we want is...'
fill_in 'proposal_question', with: 'Would you like to?'
fill_in 'proposal_description', with: 'This is very important because...'
fill_in 'proposal_external_url', with: 'http://rescue.org/refugees'
fill_in 'proposal_video_url', with: 'https://www.youtube.com/watch?v=yPQfcG-eimk'
fill_in 'proposal_tag_list', with: 'Refugees, Solidarity'
check 'proposal_terms_of_service'
click_button 'Create proposal'
expect(page).to have_content 'Proposal created successfully.'
end
end
end