break up messages into 2 parts (one for question and one for answers)

pull/1/head
Jared Cosulich 9 years ago
parent aaa2572a92
commit ac7858c5f6

@ -18,8 +18,8 @@ class Attempt < ApplicationRecord
def messages def messages
[ [
#question.text, question.text,
"#{question.text}\n\r#{question.option1}: Reply 1\n\r#{question.option2}: Reply 2\n\r#{question.option3}: Reply 3\n\r#{question.option4}: Reply 4\n\r#{question.option5}: Reply 5\n\rReply 'stop' to stop these messages." "#{question.option1}: Reply 1\n\r#{question.option2}: Reply 2\n\r#{question.option3}: Reply 3\n\r#{question.option4}: Reply 4\n\r#{question.option5}: Reply 5\n\rReply 'stop' to stop these messages."
] ]
end end

@ -184,7 +184,7 @@ describe "survey:attempt_questions" do
end end
it 'should not send anything to anyone else' do it 'should not send anything to anyone else' do
expect(FakeSMS.messages.length).to eq(@existing_message_count + 1) expect(FakeSMS.messages.length).to eq(@existing_message_count + 2)
expect(recipients[0].attempts.count).to eq(1) expect(recipients[0].attempts.count).to eq(1)
expect(recipients[1].attempts.count).to eq(2) expect(recipients[1].attempts.count).to eq(2)
end end
@ -195,7 +195,7 @@ describe "survey:attempt_questions" do
before :each do before :each do
recipients[1].update_attributes(opted_out: true) recipients[1].update_attributes(opted_out: true)
date = ActiveSupport::TimeZone["UTC"].parse(now.strftime("%Y-%m-%dT20:00:00%z")) date = ActiveSupport::TimeZone["UTC"].parse(now.strftime("%Y-%m-%dT20:00:00%z"))
Timecop.freeze(date) { subject.invoke } Timecop.freeze(date) { subject.invoke }
end end

@ -92,9 +92,13 @@ RSpec.describe Attempt, type: :model do
end end
it 'should contact the Twilio API' do it 'should contact the Twilio API' do
expect(FakeSMS.messages.length).to eq(1) expect(FakeSMS.messages.length).to eq(2)
expect(FakeSMS.messages.last.body).to eq("Question 0:1\n\rOption 0:1 A: Reply 1\n\rOption 0:1 B: Reply 2\n\rOption 0:1 C: Reply 3\n\rOption 0:1 D: Reply 4\n\rOption 0:1 E: Reply 5\n\rReply 'stop' to stop these messages.")
expect(FakeSMS.messages.first.to).to eq('111111111')
expect(FakeSMS.messages.first.body).to eq("Question 0:1")
expect(FakeSMS.messages.last.to).to eq('111111111') expect(FakeSMS.messages.last.to).to eq('111111111')
expect(FakeSMS.messages.last.body).to eq("Option 0:1 A: Reply 1\n\rOption 0:1 B: Reply 2\n\rOption 0:1 C: Reply 3\n\rOption 0:1 D: Reply 4\n\rOption 0:1 E: Reply 5\n\rReply 'stop' to stop these messages.")
end end
it 'should update sent_at' do it 'should update sent_at' do

Loading…
Cancel
Save