master
 1require 'rails_helper'
 2
 3describe Creation do
 4  subject { build(:creation) }
 5
 6  describe "#liked_by" do
 7    let(:user) { create(:user) }
 8    let(:creation) { create(:creation) }
 9
10    context "when the user already likes the creation" do
11      let!(:favorite) { creation.favorites.create(user: user) }
12      let(:result) { creation.liked_by(user) }
13
14      it "returns the existing favorite" do
15        expect(result).to eql(favorite)
16      end
17    end
18
19    context "when the user does not like the creation yet" do
20      let(:result) { creation.liked_by(user) }
21
22      it "creates a new favorite" do
23        expect(result).to_not be_nil
24        expect(result.user).to eql(user)
25        expect(result.creation).to eql(creation)
26        expect(creation.reload.favorites.count).to eql(1)
27      end
28    end
29  end
30end