public void TestPostCantFindTheAssembly() { HeyRememberDto heyObj = new HeyRememberDto() { Domain = "Banana" }; var response = _heyController.Post(heyObj); Assert.IsInstanceOf <ExceptionResult>(response); _scheduleTypeMock.Verify(type => type.Schedule(It.IsAny <HeyRememberDeferredExecution>()), Times.Never); }
public void TestPostCanFindTheMethodButHangFireIsNotRunning() { HeyRememberDto heyObj = new HeyRememberDto() { Domain = "Hey.Api.Rest.Tests", Name = "Test", DomainSpecificData = $"[{JsonConvert.SerializeObject(DateTime.Now)}, \"abc\"]" }; var scheduleTypeMock = new Mock <IScheduleType>(); scheduleTypeMock .Setup(type => type.Prototype()) .Returns(scheduleTypeMock.Object); scheduleTypeMock .Setup(type => type.Schedule(It.IsAny <HeyRememberDeferredExecution>())) .Throws <Exception>(); var scheduleTypeFactoryMock = new Mock <IJobRepository>(); scheduleTypeFactoryMock .Setup(factory => factory.MakeASchedulePrototype(It.IsAny <HeyRememberDto>())) .Returns(scheduleTypeMock.Object); var heyController = new HeyController(new HeyService(scheduleTypeFactoryMock.Object, new LogExceptionHandler())); var response = heyController.Post(heyObj); Assert.IsInstanceOf <ExceptionResult>(response); scheduleTypeMock.Verify(type => type.Schedule(It.IsAny <HeyRememberDeferredExecution>())); }
public void TestThatWhenTheJobIsScheduledItIsReturnedTheCorrectHttpPath() { Mock <IMethodBinder> methodBinderMock = new Mock <IMethodBinder>(); methodBinderMock .Setup(binder => binder.CreateDeferredExecution()) .Returns(new HeyRememberDeferredExecution() { HeyRemember = _heyObj }); Mock <IScheduleType> scheduleTypeMock = new Mock <IScheduleType>(); scheduleTypeMock .Setup(type => type.Schedule(It.IsAny <HeyRememberDeferredExecution>())) .Returns("banana"); OkHeyResponse response = new OkHeyResponse(methodBinderMock.Object, scheduleTypeMock.Object, new CreatedHttpReturn()); var serviceMock = new Mock <IHeyService>(); serviceMock .Setup(service => service.Create(_heyObj, false)) .Returns(response); HeyController controller = new HeyController(serviceMock.Object) { Request = _httpRequestMessage, Configuration = _httpConfiguration }; IHttpActionResult result = controller.Post(_heyObj); Assert.IsInstanceOf <CreatedAtRouteNegotiatedContentResult <HeyRememberDto> >(result); var createdAtResult = result as CreatedAtRouteNegotiatedContentResult <HeyRememberDto>; Assert.AreEqual("DefaultApi", createdAtResult.RouteName); Assert.AreEqual("TestDomain/TestType/TestId/Default/banana", createdAtResult.RouteValues["id"]); }