packages feed

follow-0.1.0.0: test/Follow/Middlewares/SortSpec.hs

{-# LANGUAGE OverloadedStrings #-}

module Follow.Middlewares.SortSpec where

import           Follow.Middlewares.Sort
import           Follow.Types            (Directory (..), Entry (..))
import           Helpers.Factories
import           Test.Hspec

spec :: Spec
spec = do
  describe ".apply" $ do
    it "sorts by given field getter" $ do
      let entry1 = _entry {eTitle = Just "DEF"}
      let entry2 = _entry {eTitle = Just "ABC"}
      let directory = Directory _subject [entry1, entry2]
      let sortedDirectory = apply (byGetter eTitle) directory
      dEntries sortedDirectory `shouldBe` [entry2, entry1]