mirror of
https://github.com/Growstuff/growstuff.git
synced 2026-03-26 02:33:03 -04:00
45 lines
1.3 KiB
Ruby
45 lines
1.3 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'spec_helper'
|
|
|
|
describe Follow do
|
|
before do
|
|
@member1 = FactoryBot.create(:member)
|
|
@member2 = FactoryBot.create(:member)
|
|
end
|
|
|
|
it "sends a notification when a follow is created" do
|
|
expect do
|
|
described_class.create(follower_id: @member1.id, followed_id: @member2.id)
|
|
end.to change(Notification, :count).by(1)
|
|
end
|
|
|
|
it "does not delete any members when follow is deleted" do
|
|
expect do
|
|
follow = described_class.create(follower_id: @member1.id, followed_id: @member2.id)
|
|
follow.destroy
|
|
end.not_to change(Member, :count)
|
|
end
|
|
|
|
context "when follow is created" do
|
|
before do
|
|
@follow = described_class.create(follower_id: @member1.id, followed_id: @member2.id)
|
|
end
|
|
|
|
it "does not duplicate follows" do
|
|
expect(described_class.create(follower_id: @member1.id, followed_id: @member2.id)).not_to be_valid
|
|
end
|
|
|
|
it "lists users in following/follower collections when follow is created" do
|
|
expect(@member1.followed).to include(@member2)
|
|
expect(@member2.followers).to include(@member1)
|
|
end
|
|
|
|
it "noes longer list users in following/follower collections when follow is deleted" do
|
|
@follow.destroy
|
|
expect(@member1.followed).not_to include(@member2)
|
|
expect(@member2.followers).not_to include(@member1)
|
|
end
|
|
end
|
|
end
|