akkounts/spec/jobs/create_ldap_user_job_spec.rb
Sebastian Kippe 5a658ce580
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Update RSpec syntax/usage
Fixes a deprecation warning
2022-02-16 10:14:32 -06:00

38 lines
1.0 KiB
Ruby

require 'rails_helper'
RSpec.describe CreateLdapUserJob, type: :job do
let(:ldap_client_mock) { instance_double(Net::LDAP) }
subject(:job) {
allow_any_instance_of(described_class).to receive(:ldap_client).and_return(ldap_client_mock)
described_class.perform_later(
'halfinney', 'kosmos.org', 'halfinney@example.com',
'remember-remember-the-5th-of-november'
)
}
it "creates a new document with the correct attributes" do
allow(ldap_client_mock).to receive(:add) # spy on mock
perform_enqueued_jobs { job }
expect(ldap_client_mock).to have_received(:add).with(
dn: "cn=halfinney,ou=kosmos.org,cn=users,dc=kosmos,dc=org",
attributes: {
objectclass: ["top", "account", "person", "extensibleObject"],
cn: "halfinney",
sn: "halfinney",
uid: "halfinney",
mail: "halfinney@example.com",
userPassword: "remember-remember-the-5th-of-november"
}
)
end
after do
clear_enqueued_jobs
clear_performed_jobs
end
end