require 'rails_helper' RSpec.describe Question, :type => :model do before :each do @question = Question.new( content: 'Is this a question?', user: FactoryBot.create(:user) ) end subject { @question } it { should respond_to(:content) } it '#content returns a string' do expect(@question.content).to match 'Is this a question?' end it 'does not save questions longer than 512 characters' do @question.content = 'X' * 513 expect{@question.save!}.to raise_error(ActiveRecord::RecordInvalid) end it 'has many answers' do 5.times { |i| Answer.create(content: "This is an answer. #{i}", user: FactoryBot.create(:user), question: @question) } expect(@question.answer_count).to match 5 end it 'also deletes the answers when deleted' do 5.times { |i| Answer.create(content: "This is an answer. #{i}", user: FactoryBot.create(:user), question: @question) } first_answer_id = @question.answers.first.id @question.destroy expect{Answer.find(first_answer_id)}.to raise_error(ActiveRecord::RecordNotFound) end end