packages feed

steeloverseer-2.0.1.0: test/Sos/JobQueueSpec.hs

module Sos.JobQueueSpec where

import Sos.FileEvent
import Sos.JobQueue

import Test.Hspec

import qualified Data.List.NonEmpty as NonEmpty

spec :: Spec
spec =
  describe "enqueueJob" $ do
    it "enqueues jobs" $ do
      queue <- newJobQueue
      enqueueJob (FileAdded "foo.txt") (NonEmpty.fromList ["a","b","c"]) queue
      enqueueJob (FileAdded "bar.txt") (NonEmpty.fromList ["d","e","f"]) queue
      jobQueueLength queue `shouldReturn` 2

    it "does not double-enqueue" $ do
      queue <- newJobQueue
      enqueueJob (FileAdded "foo.txt") (NonEmpty.fromList ["a","b","c"]) queue
      enqueueJob (FileAdded "bar.txt") (NonEmpty.fromList ["a","b","c"]) queue
      jobQueueLength queue `shouldReturn` 1