packages feed

postgresql-placeholder-converter-0.1.0.0: test/Database/PostgreSQL/Placeholder/ConvertSpec.hs

{-# LANGUAGE OverloadedStrings #-}

module Database.PostgreSQL.Placeholder.ConvertSpec (spec) where

import Database.PostgreSQL.Placeholder.Convert

import Test.Hspec

spec :: Spec
spec = do
  describe "convertQuestionMarkStyleToDollarSignStyle" $ do
    it "SELECT * FROM person" $ do
      convertQuestionMarkStyleToDollarSignStyle "SELECT * FROM person" `shouldBe` Right "SELECT * FROM person"

    it "SELECT * FROM person WHERE id = ?" $ do
      convertQuestionMarkStyleToDollarSignStyle "SELECT * FROM person WHERE id = ?" `shouldBe` Right "SELECT * FROM person WHERE id = $1"

    it "SELECT * FROM person WHERE name = '?'" $ do
      convertQuestionMarkStyleToDollarSignStyle "SELECT * FROM person WHERE name = '?'" `shouldBe` Right "SELECT * FROM person WHERE name = '?'"

    it "SELECT * FROM person WHERE name = $$?$$" $ do
      convertQuestionMarkStyleToDollarSignStyle "SELECT * FROM person WHERE name = $$?$$" `shouldBe` Right "SELECT * FROM person WHERE name = $$?$$"

    it "SELECT * FROM person WHERE name = $name$?$name$" $ do
      convertQuestionMarkStyleToDollarSignStyle "SELECT * FROM person WHERE name = $name$?$name$" `shouldBe` Right "SELECT * FROM person WHERE name = $name$?$name$"