AccountMigration specs: move 2-line shared context in place
This commit is contained in:
parent
f85f167f50
commit
6b88d2f4e0
3 changed files with 40 additions and 40 deletions
|
|
@ -114,8 +114,10 @@ describe "account migration" do
|
|||
end
|
||||
|
||||
context "both new and old profiles are remote" do
|
||||
include_context "with remote old user"
|
||||
include_context "with remote new user"
|
||||
let(:old_user) { remote_user_on_pod_c }
|
||||
let(:old_person) { old_user.person }
|
||||
let(:new_user) { remote_user_on_pod_b }
|
||||
let(:new_person) { new_user.person }
|
||||
|
||||
it "creates AccountMigration db object" do
|
||||
run_migration
|
||||
|
|
@ -129,8 +131,10 @@ describe "account migration" do
|
|||
|
||||
# this is the case when we're a pod, which was left by a person in favor of remote one
|
||||
context "old user is local, new user is remote" do
|
||||
include_context "with local old user"
|
||||
include_context "with remote new user"
|
||||
let(:old_user) { FactoryGirl.create(:user) }
|
||||
let(:old_person) { old_user.person }
|
||||
let(:new_user) { remote_user_on_pod_b }
|
||||
let(:new_person) { new_user.person }
|
||||
|
||||
include_examples "every migration scenario"
|
||||
|
||||
|
|
@ -160,8 +164,10 @@ describe "account migration" do
|
|||
|
||||
# this is the case when user migrates to our pod from a remote one
|
||||
context "old user is remote and new user is local" do
|
||||
include_context "with remote old user"
|
||||
include_context "with local new user"
|
||||
let(:old_user) { remote_user_on_pod_c }
|
||||
let(:old_person) { old_user.person }
|
||||
let(:new_user) { FactoryGirl.create(:user) }
|
||||
let(:new_person) { new_user.person }
|
||||
|
||||
def run_migration
|
||||
AccountMigration.create!(
|
||||
|
|
@ -180,8 +186,10 @@ describe "account migration" do
|
|||
|
||||
# this is the case when a user changes diaspora id but stays on the same pod
|
||||
context "old user is local and new user is local" do
|
||||
include_context "with local old user"
|
||||
include_context "with local new user"
|
||||
let(:old_user) { FactoryGirl.create(:user) }
|
||||
let(:old_person) { old_user.person }
|
||||
let(:new_user) { FactoryGirl.create(:user) }
|
||||
let(:new_person) { new_user.person }
|
||||
|
||||
def run_migration
|
||||
AccountMigration.create!(old_person: old_user.person, new_person: new_user.person).perform!
|
||||
|
|
|
|||
|
|
@ -4,7 +4,8 @@ require "integration/federation/federation_helper"
|
|||
|
||||
describe AccountMigration, type: :model do
|
||||
describe "create!" do
|
||||
include_context "with local old user"
|
||||
let(:old_user) { FactoryGirl.create(:user) }
|
||||
let(:old_person) { old_user.person }
|
||||
|
||||
it "locks old local user after creation" do
|
||||
expect {
|
||||
|
|
@ -28,7 +29,8 @@ describe AccountMigration, type: :model do
|
|||
|
||||
describe "sender" do
|
||||
context "with remote old user" do
|
||||
include_context "with remote old user"
|
||||
let(:old_user) { remote_user_on_pod_c }
|
||||
let(:old_person) { old_user.person }
|
||||
|
||||
it "creates ephemeral user when private key is provided" do
|
||||
account_migration.old_private_key = old_user.serialized_private_key
|
||||
|
|
@ -46,7 +48,8 @@ describe AccountMigration, type: :model do
|
|||
end
|
||||
|
||||
context "with local old user" do
|
||||
include_context "with local old user"
|
||||
let(:old_user) { FactoryGirl.create(:user) }
|
||||
let(:old_person) { old_user.person }
|
||||
|
||||
it "matches the old user" do
|
||||
expect(account_migration.sender).to eq(old_user)
|
||||
|
|
@ -73,7 +76,8 @@ describe AccountMigration, type: :model do
|
|||
end
|
||||
|
||||
context "with local new user" do
|
||||
include_context "with local new user"
|
||||
let(:new_user) { FactoryGirl.create(:user) }
|
||||
let(:new_person) { new_user.person }
|
||||
|
||||
describe "subscribers" do
|
||||
it "picks remote subscribers of new user profile and old person" do
|
||||
|
|
@ -83,7 +87,8 @@ describe AccountMigration, type: :model do
|
|||
end
|
||||
|
||||
context "with local old user" do
|
||||
include_context "with local old user"
|
||||
let(:old_user) { FactoryGirl.create(:user) }
|
||||
let(:old_person) { old_user.person }
|
||||
|
||||
it "doesn't include old person" do
|
||||
expect(account_migration.subscribers).to be_empty
|
||||
|
|
@ -113,7 +118,8 @@ describe AccountMigration, type: :model do
|
|||
end
|
||||
|
||||
context "with local old and remote new users" do
|
||||
include_context "with local old user"
|
||||
let(:old_user) { FactoryGirl.create(:user) }
|
||||
let(:old_person) { old_user.person }
|
||||
|
||||
it "calls AccountDeleter#close_user" do
|
||||
expect(embedded_account_deleter).to receive(:close_user)
|
||||
|
|
@ -128,8 +134,10 @@ describe AccountMigration, type: :model do
|
|||
end
|
||||
|
||||
context "with local new and remote old users" do
|
||||
include_context "with remote old user"
|
||||
include_context "with local new user"
|
||||
let(:old_user) { remote_user_on_pod_c }
|
||||
let(:old_person) { old_user.person }
|
||||
let(:new_user) { FactoryGirl.create(:user) }
|
||||
let(:new_person) { new_user.person }
|
||||
|
||||
it "dispatches account migration message" do
|
||||
expect(account_migration).to receive(:sender).twice.and_return(old_user)
|
||||
|
|
@ -151,8 +159,10 @@ describe AccountMigration, type: :model do
|
|||
end
|
||||
|
||||
context "with local old and new users" do
|
||||
include_context "with local old user"
|
||||
include_context "with local new user"
|
||||
let(:old_user) { FactoryGirl.create(:user) }
|
||||
let(:old_person) { old_user.person }
|
||||
let(:new_user) { FactoryGirl.create(:user) }
|
||||
let(:new_person) { new_user.person }
|
||||
|
||||
it "calls AccountDeleter#tombstone_user" do
|
||||
expect(embedded_account_deleter).to receive(:tombstone_user)
|
||||
|
|
@ -196,8 +206,10 @@ describe AccountMigration, type: :model do
|
|||
end
|
||||
|
||||
context "with local account merging (non-empty new user)" do
|
||||
include_context "with local old user"
|
||||
include_context "with local new user"
|
||||
let(:old_user) { FactoryGirl.create(:user) }
|
||||
let(:old_person) { old_user.person }
|
||||
let(:new_user) { FactoryGirl.create(:user) }
|
||||
let(:new_person) { new_user.person }
|
||||
|
||||
before do
|
||||
FactoryGirl.create(
|
||||
|
|
|
|||
|
|
@ -1,25 +1,5 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
shared_context "with local old user" do
|
||||
let(:old_user) { FactoryGirl.create(:user) }
|
||||
let(:old_person) { old_user.person }
|
||||
end
|
||||
|
||||
shared_context "with local new user" do
|
||||
let(:new_user) { FactoryGirl.create(:user) }
|
||||
let(:new_person) { new_user.person }
|
||||
end
|
||||
|
||||
shared_context "with remote old user" do
|
||||
let(:old_user) { remote_user_on_pod_c }
|
||||
let(:old_person) { old_user.person }
|
||||
end
|
||||
|
||||
shared_context "with remote new user" do
|
||||
let(:new_user) { remote_user_on_pod_b }
|
||||
let(:new_person) { new_user.person }
|
||||
end
|
||||
|
||||
shared_examples_for "it updates person references" do
|
||||
it "updates contact reference" do
|
||||
contact = FactoryGirl.create(:contact, person: old_person)
|
||||
|
|
|
|||
Loading…
Reference in a new issue