File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 257257 end
258258
259259 it "does not return stories for other feeds" do
260- feed1 = create_feed
261- feed2 = create_feed
262- create_story ( feed : feed2 )
260+ feed = create_feed
263261 create_story
264262
265- expect ( StoryRepository . feed ( feed1 . id ) ) . to be_empty
263+ expect ( StoryRepository . feed ( feed . id ) ) . to be_empty
264+ end
265+ end
266+
267+ describe ".read" do
268+ it "returns read stories" do
269+ story = create_story ( :read )
270+
271+ expect ( StoryRepository . read ) . to eq ( [ story ] )
272+ end
273+
274+ it "sorts stories by published" do
275+ story1 = create_story ( :read , published : 1 . day . ago )
276+ story2 = create_story ( :read , published : 1 . hour . ago )
277+
278+ expect ( StoryRepository . read ) . to eq ( [ story2 , story1 ] )
279+ end
280+
281+ it "does not return unread stories" do
282+ create_story ( :unread )
283+
284+ expect ( StoryRepository . read ) . to be_empty
285+ end
286+
287+ it "paginates results" do
288+ stories =
289+ 21 . times . map { |num | create_story ( :read , published : num . days . ago ) }
290+
291+ expect ( StoryRepository . read ) . to eq ( stories [ 0 ...20 ] )
292+ expect ( StoryRepository . read ( 2 ) ) . to eq ( [ stories . last ] )
266293 end
267294 end
268295
You can’t perform that action at this time.
0 commit comments