git-phoenix-0.0.1: test/Data/Git/Phoenix/Test/UberHeadsDiscovery.hs
module Data.Git.Phoenix.Test.UberHeadsDiscovery where
import Data.ByteString.Lazy qualified as L
import Data.Git.Phoenix.CmdArgs
import Data.Git.Phoenix.HeadsDiscovery
import Data.Git.Phoenix.Prelude
import Data.Git.Phoenix.Test
import Test.Tasty.HUnit
unit_format_commit :: IO ()
unit_format_commit =
assertEqual
"gold"
("00010203 2025-07-06 15:12 Daniil Iaitskov Hello\nWorld\n" :: String)
(show $ commitObjectsToDoc
[ ( L.pack [0..19]
, CommitObject
{ message = "Hello\nWorld\n"
, parent = Nothing
, commitTs = 1751814758
, comAuthor = "Daniil Iaitskov "
}
)
])
unit_uber_heads_discovery :: IO ()
unit_uber_heads_discovery = withUber go
where
go :: Tagged Root FilePath -> Tagged Uber FilePath -> IO ()
go _rdir (Tagged uberDir) = do
sunny uberDir
authorMismatch uberDir
sunny uberDir = do
commits <- runHeadsDiscovery HeadsDiscovery2
{ author = "Daniil"
, uberRepoDir = Tagged uberDir
}
assertEqual "no commits matching author name" 3 (length commits)
authorMismatch uberDir = do
commits <- runHeadsDiscovery HeadsDiscovery2
{ author = "^Ladiin"
, uberRepoDir = Tagged uberDir
}
assertEqual "author does not match" [] commits