anchor.diff:                      d.HashGetAllAsync(any()) --> taskJobHash()
                   @>
               )
  -            let sub = Mock<ISubscriber>().Create();
  +            let sub = Mock<ISubscriber>.With(fun s ->
  +                <@
  +                    s.PublishAsync(any(), any(), any()) --> taskLong()
  +                @>
  +            )
   
               let queue = Queue<Data>("stuff", (fun () -> db), (fun () -> sub))
               let! job = queue.add({ value = "test" });
  
positive.code:                     d.ListLeftPushAsync(any(), any(), any(), any()) --> taskLPush()
                  @>
              )
              let sub = Mock<ISubscriber>().Create();
  
              let queue = Queue<Data>("stuff", (fun () -> db), (fun () -> sub))
              
  
negative.code:         let sub = Mock<ISubscriber>().Create();
  
          let q = Queue<Data>("stuff", (fun () -> db), (fun () -> sub))
          
          // When 
          let job = Job.fromId(q, 1L) |> Async.RunSynchronously
          
          // Then
          job.data.value |> should equal "test"
  