Tests for FileNameService

This commit is contained in:
Guntis Smaukstelis
2023-05-23 20:15:25 +03:00
parent bd302618d3
commit 0581260073
3 changed files with 56 additions and 0 deletions
+3
View File
@@ -28,4 +28,7 @@ libraryDependencies ++= Seq(
"io.circe" %% "circe-generic-extras" % circeVersion, "io.circe" %% "circe-generic-extras" % circeVersion,
"io.circe" %% "circe-optics" % circeVersion, "io.circe" %% "circe-optics" % circeVersion,
"io.circe" %% "circe-parser" % circeVersion, "io.circe" %% "circe-parser" % circeVersion,
"org.scalatest" %% "scalatest" % "3.2.16" % Test,
"org.scalamock" %% "scalamock" % "5.2.0" % Test
) )
@@ -0,0 +1,35 @@
import fetch.FileNameService
import org.scalatest.funsuite.AnyFunSuite
import java.time.LocalDateTime
class FileNameServiceSpec extends AnyFunSuite {
test("FileNameService.generate returns correct file names") {
val startTime = LocalDateTime.of(2023, 5, 17, 0, 0)
val endTime = LocalDateTime.of(2023, 5, 17, 4, 0)
val expectedFileNames = List(
"20230517_0030.csv",
"20230517_0130.csv",
"20230517_0230.csv",
"20230517_0330.csv",
)
val actualFileNames = FileNameService.generate(startTime, endTime)
assert(actualFileNames == expectedFileNames)
}
test("FileNameService.generateFromDate returns correct file names") {
val date = LocalDateTime.of(2023, 5, 17, 0, 0).toLocalDate
val expectedFileNames = (0 to 23).toList
.map(hour => if(hour < 10) "0"+hour else ""+hour)
.map(str => s"20230517_${str}30.csv")
val actualFileNames = FileNameService.generateFromDate(date)
assert(actualFileNames == expectedFileNames)
}
}
+18
View File
@@ -0,0 +1,18 @@
package base
import cats.effect.IO
import cats.effect.unsafe.IORuntime
import org.scalatest.Succeeded
import scala.concurrent.Future
import scala.concurrent.duration._
trait IOSuite {
val Timeout: FiniteDuration = 5.seconds
implicit val ioRuntime: IORuntime = IORuntime.global
def runIO[A](io: IO[A], timeout: FiniteDuration = Timeout): Future[Succeeded.type] =
io.timeout(timeout).as(Succeeded).unsafeToFuture()
}