Search code examples
scalamockitospecs2

Mocking a Future Or in a Scala Spec


I'm having trouble with Mockito to mock a response from a method that returns either an Object or an Exception. The mocked method's signature looks like this:

def findResult(request: String): Future[Seq[String] Or MyException] =

and in my Specs I'm trying to just return a succesful Future:

when(client.findResult("1234")) thenReturn Future.successful[Seq[String] Or MyException](Seq("Hello"))

This of course does not compile but what is the correct syntax?


Solution

  • Well you need to decide what you want to return. Depending on the test, you may want to return the left or the right side of the Or.

    Eg.

    doReturn(Future.successful(Seq("hello"))).when(client).findR‌​esult("1234")