From d124c46292aaeb2e300d677915be2df5c48d1b9b Mon Sep 17 00:00:00 2001 From: mo khan Date: Thu, 16 Oct 2014 20:13:58 -0600 Subject: create a creations repository. --- spec/controllers/admin/users_controller_spec.rb | 2 +- spec/models/creation/repository_spec.rb | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 spec/models/creation/repository_spec.rb (limited to 'spec') diff --git a/spec/controllers/admin/users_controller_spec.rb b/spec/controllers/admin/users_controller_spec.rb index bc94346d..7844d3f6 100644 --- a/spec/controllers/admin/users_controller_spec.rb +++ b/spec/controllers/admin/users_controller_spec.rb @@ -19,7 +19,7 @@ module Admin it "returns users that match the search results" do matching_user = double repository = double - controller.stub(:users_repository).and_return(repository) + controller.stub(:repository).and_return(repository) repository.stub(:search_by).with('mo').and_return([matching_user]) get :index, q: 'mo' expect(assigns(:users)).to include(matching_user) diff --git a/spec/models/creation/repository_spec.rb b/spec/models/creation/repository_spec.rb new file mode 100644 index 00000000..a406fcb8 --- /dev/null +++ b/spec/models/creation/repository_spec.rb @@ -0,0 +1,22 @@ +require 'rails_helper' + +describe Creation::Repository do + describe "#tagged" do + let(:user) { create(:user) } + let(:tag) { "cake" } + let(:tagged_cake) { create(:creation, photos_count: 1) } + let(:untagged_cake) { create(:creation) } + + before :each do + user.tag(tagged_cake, with: tag, on: :tags) + end + + it "returns each cake that is tagged" do + expect(subject.tagged(tag)).to include(tagged_cake) + end + + it "does not return cakes that are not tagged" do + expect(subject.tagged(tag)).to_not include(untagged_cake) + end + end +end -- cgit v1.2.3