|
|
@ -13,29 +13,42 @@ RSpec.describe Api::SalmonController, type: :controller do |
|
|
|
end |
|
|
|
|
|
|
|
describe 'POST #update' do |
|
|
|
before do |
|
|
|
request.env['RAW_POST_DATA'] = File.read(File.join(Rails.root, 'spec', 'fixtures', 'salmon', 'mention.xml')) |
|
|
|
post :update, params: { id: account.id } |
|
|
|
context 'with valid post data' do |
|
|
|
before do |
|
|
|
request.env['RAW_POST_DATA'] = File.read(File.join(Rails.root, 'spec', 'fixtures', 'salmon', 'mention.xml')) |
|
|
|
post :update, params: { id: account.id } |
|
|
|
end |
|
|
|
|
|
|
|
it 'contains XML in the request body' do |
|
|
|
expect(request.body.read).to be_a String |
|
|
|
end |
|
|
|
|
|
|
|
it 'returns http success' do |
|
|
|
expect(response).to have_http_status(:success) |
|
|
|
end |
|
|
|
|
|
|
|
it 'creates remote account' do |
|
|
|
expect(Account.find_by(username: 'gargron', domain: 'quitter.no')).to_not be_nil |
|
|
|
end |
|
|
|
|
|
|
|
it 'creates status' do |
|
|
|
expect(Status.find_by(uri: 'tag:quitter.no,2016-03-20:noticeId=1276923:objectType=note')).to_not be_nil |
|
|
|
end |
|
|
|
|
|
|
|
it 'creates mention for target account' do |
|
|
|
expect(account.mentions.count).to eq 1 |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
it 'contains XML in the request body' do |
|
|
|
expect(request.body.read).to be_a String |
|
|
|
end |
|
|
|
|
|
|
|
it 'returns http success' do |
|
|
|
expect(response).to have_http_status(:success) |
|
|
|
end |
|
|
|
|
|
|
|
it 'creates remote account' do |
|
|
|
expect(Account.find_by(username: 'gargron', domain: 'quitter.no')).to_not be_nil |
|
|
|
end |
|
|
|
|
|
|
|
it 'creates status' do |
|
|
|
expect(Status.find_by(uri: 'tag:quitter.no,2016-03-20:noticeId=1276923:objectType=note')).to_not be_nil |
|
|
|
end |
|
|
|
context 'with invalid post data' do |
|
|
|
before do |
|
|
|
request.env['RAW_POST_DATA'] = '' |
|
|
|
post :update, params: { id: account.id } |
|
|
|
end |
|
|
|
|
|
|
|
it 'creates mention for target account' do |
|
|
|
expect(account.mentions.count).to eq 1 |
|
|
|
it 'returns http success' do |
|
|
|
expect(response).to have_http_status(202) |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
end |