Validate presence of 'poll_id' attribute on Poll::Question model
Fixes #1831 On branch aperez-validate-poll-question-is-selected Changes to be committed: modified: app/models/poll/question.rb modified: spec/models/poll/question_spec.rb modified: spec/features/admin/poll/polls_spec.rb
This commit is contained in:
@@ -20,6 +20,7 @@ class Poll::Question < ActiveRecord::Base
|
||||
|
||||
validates :title, presence: true
|
||||
validates :author, presence: true
|
||||
validates :poll_id, presence: true
|
||||
|
||||
validates :title, length: { minimum: 4 }
|
||||
validates :description, length: { maximum: Poll::Question.description_max_length }
|
||||
|
||||
@@ -183,7 +183,7 @@ feature 'Admin polls' do
|
||||
|
||||
scenario 'Add question to poll', :js do
|
||||
poll = create(:poll)
|
||||
question = create(:poll_question, poll: nil, title: 'Should we rebuild the city?')
|
||||
question = create(:poll_question, title: 'Should we rebuild the city?')
|
||||
|
||||
visit admin_poll_path(poll)
|
||||
|
||||
|
||||
@@ -9,6 +9,20 @@ RSpec.describe Poll::Question, type: :model do
|
||||
end
|
||||
end
|
||||
|
||||
describe "#poll_question_id" do
|
||||
it "should be invalid if a poll is not selected" do
|
||||
q = create(:poll_question)
|
||||
q.poll_id = nil
|
||||
expect(q).to_not be_valid
|
||||
end
|
||||
|
||||
it "should be valid if a poll is selected" do
|
||||
q = create(:poll_question)
|
||||
q.poll_id = 1
|
||||
expect(q).to be_valid
|
||||
end
|
||||
end
|
||||
|
||||
describe "#copy_attributes_from_proposal" do
|
||||
it "copies the attributes from the proposal" do
|
||||
create_list(:geozone, 3)
|
||||
|
||||
Reference in New Issue
Block a user