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