Skip to content

Instantly share code, notes, and snippets.

@DenisNovac
Created July 17, 2023 05:33
Show Gist options
  • Save DenisNovac/3cc4f4606c78b5823eb52aefbbb63cb2 to your computer and use it in GitHub Desktop.
Save DenisNovac/3cc4f4606c78b5823eb52aefbbb63cb2 to your computer and use it in GitHub Desktop.
Pure doobie Transactor for mocking ConnectionIO
// https://github.com/tpolecat/doobie/issues/460
object Test {
import cats.implicits._
import cats.effect.IO
import cats.effect.unsafe.implicits.global
import doobie.{ConnectionIO, Transactor}
import doobie.implicits._
val u = ().pure[ConnectionIO]
val s = doobie.util.transactor.Strategy(u, u, u, u)
val noopXa = Transactor.fromConnection[IO](null).copy(strategy0 = s)
val value: ConnectionIO[Int] = 42.pure[ConnectionIO]
val r = value.transact(noopXa).unsafeRunSync()
}
Test.r // 42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment