parent
0cdf38fcc0
commit
b518846811
@ -1,5 +1,47 @@
|
|||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
RSpec.describe Attempt, type: :model do
|
RSpec.describe Attempt, type: :model do
|
||||||
pending "add some examples to (or delete) #{__FILE__}"
|
|
||||||
|
let(:question) { Question.create!(text: 'What is the question?', option1: 'A', option2: 'B', option3: 'C', option4: 'D', option5: 'E')}
|
||||||
|
let(:question_list) { QuestionList.create(name: 'Parent Questions', question_ids: "#{question.id},2,3")}
|
||||||
|
|
||||||
|
let(:recipient) { Recipient.create!(name: 'Parent', phone: '1112223333') }
|
||||||
|
let(:recipient_list) { RecipientList.create(name: 'Parent List', recipient_ids: recipient.id.to_s)}
|
||||||
|
|
||||||
|
let(:schedule) { Schedule.create!(name: 'Parent Schedule', recipient_list_id: recipient_list.id, question_list: question_list) }
|
||||||
|
|
||||||
|
let(:recipient_schedule) do
|
||||||
|
RecipientSchedule.create!(
|
||||||
|
recipient: recipient,
|
||||||
|
schedule: schedule,
|
||||||
|
upcoming_question_ids: "#{question.id},3",
|
||||||
|
attempted_question_ids: '2',
|
||||||
|
last_attempt_at: 2.weeks.ago
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
let!(:attempt) do
|
||||||
|
recipient.attempts.create(
|
||||||
|
schedule: schedule,
|
||||||
|
recipient_schedule: recipient_schedule,
|
||||||
|
question: question
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
describe 'send_message' do
|
||||||
|
before :each do
|
||||||
|
Timecop.freeze
|
||||||
|
attempt.send_message
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should contact the Twilio API' do
|
||||||
|
expect(FakeSMS.messages.length).to eq(1)
|
||||||
|
expect(FakeSMS.messages.first.body).to eq(question.text)
|
||||||
|
expect(FakeSMS.messages.first.to).to eq(recipient.phone)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should update sent_at' do
|
||||||
|
expect(attempt.sent_at).to eq(Time.new)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
Reference in new issue