packages feed

langchain-hs-0.0.3.0: test/Test/Langchain/Embeddings/Core.hs

{-# LANGUAGE OverloadedStrings #-}

module Test.Langchain.Embeddings.Core (tests) where

import Data.Text (isInfixOf)
import Langchain.Embeddings.Core
import Langchain.Embeddings.Ollama
import Langchain.Utils (showText)
import Test.Tasty
import Test.Tasty.HUnit

tests :: TestTree
tests =
  testGroup
    "Embedding Tests"
    [ testGroup
        "embedQuery Tests"
        [ testCase "Propagates API errors" $ do
            let embeddings = OllamaEmbeddings "error-model" Nothing Nothing Nothing
            -- Assuming embeddingOps returns Left "API Failure"
            result <- embedQuery embeddings "error query"
            case result of
              Left err ->
                assertBool
                  "Error message contains 'error'"
                  ("error" `isInfixOf` showText err)
              Right _ -> assertFailure "Expected API error propagation"
        ]
    ]