diff --git a/useCase/src/test/scala/com/github/BambooTuna/LoadTest/usecase/AddUserUseCaseImplSpec.scala b/useCase/src/test/scala/com/github/BambooTuna/LoadTest/usecase/AddUserUseCaseImplSpec.scala new file mode 100644 index 0000000..d675eb2 --- /dev/null +++ b/useCase/src/test/scala/com/github/BambooTuna/LoadTest/usecase/AddUserUseCaseImplSpec.scala @@ -0,0 +1,35 @@ +package com.github.BambooTuna.LoadTest.usecase + +import com.github.BambooTuna.LoadTest.domain.model.user.{Age, Name, UserId} +import com.github.BambooTuna.LoadTest.usecase.LoadTestProtocol.{AddUserCommandRequest, AddUserCommandSucceeded} +import monix.execution.CancelableFuture +import monix.execution.Scheduler.Implicits.global +import org.scalatest.concurrent.ScalaFutures +import org.scalatest.{FreeSpecLike, Matchers} + +class AddUserUseCaseImplSpec() + extends FreeSpecLike + with Matchers + with ScalaFutures +{ + val userRepositoryMock = new UserRepositoryOnJDBCMock + val addUserUseCaseImpl = new AddUserUseCaseImpl(userRepositoryMock) + + "AddUserUseCaseImplSpec" - { + + "run" in { + + val name = Name("a") + val age = Age(1) + val response = addUserUseCaseImpl + .run(AddUserCommandRequest(name, age)) + .runToFuture + + response.futureValue shouldBe AddUserCommandSucceeded(UserId()) + + } + + } + + +} diff --git a/useCase/src/test/scala/com/github/BambooTuna/LoadTest/usecase/UserRepositoryOnJDBCMock.scala b/useCase/src/test/scala/com/github/BambooTuna/LoadTest/usecase/UserRepositoryOnJDBCMock.scala new file mode 100644 index 0000000..b55c5c4 --- /dev/null +++ b/useCase/src/test/scala/com/github/BambooTuna/LoadTest/usecase/UserRepositoryOnJDBCMock.scala @@ -0,0 +1,24 @@ +package com.github.BambooTuna.LoadTest.usecase + +import com.github.BambooTuna.LoadTest.adaptor.storage.repository.jdbc.UserRepositoryOnJDBC +import monix.eval.Task + +class UserRepositoryOnJDBCMock extends UserRepositoryOnJDBC { + + override def get(id: Id): Task[Option[Record]] = ??? + + override def getMulti(ids: Seq[Id]): Task[Seq[Record]] = ??? + + override def put(record: Record): Task[Long] = Task.pure(1L) + + override def putMulti(records: Seq[Record]): Task[Long] = ??? + + override def delete(id: Id): Task[Long] = ??? + + override def deleteMulti(ids: Seq[Id]): Task[Long] = ??? + + override def softDelete(id: Id): Task[Long] = ??? + + override def softDeleteMulti(ids: Seq[Id]): Task[Long] = ??? + +}