Repository URL to install this package:
|
Version:
4.0.0.pre.3 ▾
|
require 'rails_helper'
RSpec.describe Core::UserMergeConcern do
it 'merges the attributes' do
source_user = create(:core_user)
destination_user = create(:core_user)
destination_user.merge!(source_user)
expect(destination_user.name).to eq source_user.name
expect(destination_user.email).to eq source_user.email
expect(destination_user.valid_password?('password')).to be_truthy
expect(destination_user.date_of_birth).to eq source_user.date_of_birth
expect(destination_user.staff).to eq source_user.staff
expect(destination_user.notes).to eq source_user.notes
expect(destination_user.medical_issues).to eq source_user.medical_issues
end
it 'merges the organisation' do
source_user = create(:core_user)
organisation = create(:core_organisation)
source_user.organisation = organisation
destination_user = create(:core_user)
destination_user.merge!(source_user)
destination_user.reload
expect(destination_user.organisation).to eq organisation
end
it 'merges the bookings' do
source_user = create(:core_user)
booking = create(:core_booking, user: source_user)
source_user.bookings << booking
destination_user = create(:core_user)
destination_user.merge!(source_user)
destination_user.reload
expect(destination_user.bookings).to eq [booking]
end
it 'merges the pass_purchases' do
source_user = create(:core_user)
pass_purchase = create(:core_pass_purchase, user: source_user)
destination_user = create(:core_user)
destination_user.merge!(source_user)
destination_user.reload
expect(destination_user.pass_purchases).to eq [pass_purchase]
end
it 'merges the oauth_applications' do
source_user = create(:core_user)
application = create(:oauth_application, owner: source_user)
destination_user = create(:core_user)
destination_user.merge!(source_user)
destination_user.reload
expect(destination_user.oauth_applications).to eq [application]
end
end