trabajo-afectivo/spec/requests/channels_microsoft365_spec.rb
2022-01-01 14:38:12 +01:00

50 lines
1.5 KiB
Ruby

# Copyright (C) 2012-2022 Zammad Foundation, https://zammad-foundation.org/
require 'rails_helper'
RSpec.describe 'Microsoft365 channel API endpoints', type: :request do
let(:admin) { create(:admin) }
let!(:microsoft365_channel) { create(:microsoft365_channel) }
describe 'DELETE /api/v1/channels_microsoft365', authenticated_as: :admin do
context 'without a email address relation' do
let(:params) do
{
id: microsoft365_channel.id
}
end
it 'responds 200 OK' do
delete '/api/v1/channels_microsoft365', params: params, as: :json
expect(response).to have_http_status(:ok)
end
it 'microsoft365 channel deleted' do
expect { delete '/api/v1/channels_microsoft365', params: params, as: :json }.to change(Channel, :count).by(-1)
end
end
context 'with a email address relation' do
let(:params) do
{
id: microsoft365_channel.id
}
end
before do
create(:email_address, channel: microsoft365_channel)
end
it 'responds 200 OK' do
delete '/api/v1/channels_microsoft365', params: params, as: :json
expect(response).to have_http_status(:ok)
end
it 'microsoft365 channel and related email address deleted' do
expect { delete '/api/v1/channels_microsoft365', params: params, as: :json }.to change(Channel, :count).by(-1).and change(EmailAddress, :count).by(-1)
end
end
end
end