Skip to content

Commit b15da45

Browse files
authored
Specs: add tests for StoryRepository.read (stringer-rss#560)
1 parent 34be045 commit b15da45

File tree

1 file changed

+31
-4
lines changed

1 file changed

+31
-4
lines changed

spec/repositories/story_repository_spec.rb

+31-4
Original file line numberDiff line numberDiff line change
@@ -257,12 +257,39 @@
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

0 commit comments

Comments
 (0)