expect(status.thread).to eq in_reply_to_status
end
- it 'schedules a status' do
- account = Fabricate(:account)
- future = Time.now.utc + 2.hours
-
- status = subject.call(account, text: 'Hi future!', scheduled_at: future)
-
- expect(status).to be_a ScheduledStatus
- expect(status.scheduled_at).to eq future
- expect(status.params['text']).to eq 'Hi future!'
- end
-
- it 'does not immediately create a status when scheduling a status' do
- account = Fabricate(:account)
- media = Fabricate(:media_attachment)
- future = Time.now.utc + 2.hours
-
- status = subject.call(account, text: 'Hi future!', media_ids: [media.id], scheduled_at: future)
-
- expect(status).to be_a ScheduledStatus
- expect(status.scheduled_at).to eq future
- expect(status.params['text']).to eq 'Hi future!'
- expect(media.reload.status).to be_nil
- expect(Status.where(text: 'Hi future!').exists?).to be_falsey
+ context 'when scheduling a status' do
+ let!(:account) { Fabricate(:account) }
+ let!(:future) { Time.now.utc + 2.hours }
+ let!(:previous_status) { Fabricate(:status, account: account) }
+
+ it 'schedules a status' do
+ status = subject.call(account, text: 'Hi future!', scheduled_at: future)
+ expect(status).to be_a ScheduledStatus
+ expect(status.scheduled_at).to eq future
+ expect(status.params['text']).to eq 'Hi future!'
+ end
+
+ it 'does not immediately create a status' do
+ media = Fabricate(:media_attachment, account: account)
+ status = subject.call(account, text: 'Hi future!', media_ids: [media.id], scheduled_at: future)
+
+ expect(status).to be_a ScheduledStatus
+ expect(status.scheduled_at).to eq future
+ expect(status.params['text']).to eq 'Hi future!'
+ expect(status.params['media_ids']).to eq [media.id]
+ expect(media.reload.status).to be_nil
+ expect(Status.where(text: 'Hi future!').exists?).to be_falsey
+ end
+
+ it 'does not change statuses count' do
+ expect { subject.call(account, text: 'Hi future!', scheduled_at: future, thread: previous_status) }.not_to change { [account.statuses_count, previous_status.replies_count] }
+ end
end
it 'creates response to the original status of boost' do