Commit ff506756

mo khan <mo@mokhan.ca>
2014-07-06 03:20:03
tidy up the search query.
1 parent 11dfd7a
Changed files (2)
app/models/creation_repository.rb
@@ -6,8 +6,7 @@ class CreationRepository
   end
 
   def search(query)
-    sql_search = "%#{query}%"
-    connection.includes(:user).where("upper(name) like upper(?) OR upper(story) like upper(?)", sql_search, sql_search)
+    connection.includes(:user).where(["upper(name) like :query OR upper(story) like :query", { query: "%#{query.upcase}%" }])
   end
 
   def visible_creations
spec/models/creation_repository_spec.rb
@@ -16,4 +16,15 @@ describe CreationRepository do
       expect(results).to include(published_cake)
     end
   end
+
+  describe "#search" do
+    let(:cake) { create(:creation, name: 'Cake') }
+    let(:cup_cake) { create(:creation, name: 'Cup Cake') }
+
+    it "returns cakes with a matching name" do
+      results = subject.search('cake')
+      expect(results).to include(cake)
+      expect(results).to_not include(cup_cake)
+    end
+  end
 end