2019-04-11 08:17:24 -04:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2017-09-15 11:35:24 -04:00
|
|
|
require 'spec_helper'
|
|
|
|
|
2020-06-24 11:08:50 -04:00
|
|
|
RSpec.describe GpgKeys::CreateService do
|
2017-09-15 11:35:24 -04:00
|
|
|
let(:user) { create(:user) }
|
|
|
|
let(:params) { attributes_for(:gpg_key) }
|
|
|
|
|
|
|
|
subject { described_class.new(user, params) }
|
|
|
|
|
|
|
|
context 'notification', :mailer do
|
|
|
|
it 'sends a notification' do
|
|
|
|
perform_enqueued_jobs do
|
|
|
|
subject.execute
|
|
|
|
end
|
|
|
|
should_email(user)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'creates a gpg key' do
|
|
|
|
expect { subject.execute }.to change { user.gpg_keys.where(params).count }.by(1)
|
|
|
|
end
|
2017-09-28 14:26:16 -04:00
|
|
|
|
|
|
|
context 'when the public key contains subkeys' do
|
|
|
|
let(:params) { attributes_for(:gpg_key_with_subkeys) }
|
|
|
|
|
|
|
|
it 'generates the gpg subkeys' do
|
|
|
|
gpg_key = subject.execute
|
|
|
|
|
|
|
|
expect(gpg_key.subkeys.count).to eq(2)
|
|
|
|
end
|
|
|
|
end
|
2017-09-15 11:35:24 -04:00
|
|
|
end
|