summaryrefslogtreecommitdiff
path: root/spec/models/creation_spec.rb
blob: 080a83a7216ebe00d7d50f2ae17efcf478268b48 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
require 'rails_helper'

describe Creation do
  subject { build(:creation) }

  describe "#liked_by" do
    let(:user) { create(:user) }
    let(:creation) { create(:creation) }

    context "when the user already likes the creation" do
      let!(:favorite) { creation.favorites.create(user: user) }
      let(:result) { creation.liked_by(user) }

      it "returns the existing favorite" do
        expect(result).to eql(favorite)
      end
    end

    context "when the user does not like the creation yet" do
      let(:result) { creation.liked_by(user) }

      it "creates a new favorite" do
        expect(result).to_not be_nil
        expect(result.user).to eql(user)
        expect(result.creation).to eql(creation)
        expect(creation.reload.favorites.count).to eql(1)
      end
    end
  end
end