public async Task GetItemFound() { var item = new TestEntity() { Id = 123, Name = "Uom123" }; var mockRepository = new Mock <IReadRepository <TestEntity> >(MockBehavior.Strict); mockRepository.Setup(r => r.GetAsync(123)).ReturnsAsync(item); var supportedMedia = new LrpSupportedMedia(); var context = new ControllerContext { HttpContext = new DefaultHttpContext() }; context.HttpContext.Request.Headers["Accept"] = "application/vnd.lrp.v1+json"; var pageLinksBuilder = new Mock <IPageLinksBuilder>(MockBehavior.Strict).Object; var controller = new ReadController <TestEntity>(mockRepository.Object, pageLinksBuilder) { ControllerContext = context }; var actionResult = await controller.GetItemAsync(123) as OkObjectResult; Assert.NotNull(actionResult); var dataResult = actionResult.Value as TestEntity; Assert.NotNull(dataResult); Assert.AreEqual(123, dataResult.Id); Assert.AreEqual("Uom123", dataResult.Name); }
public async Task GetItemId0() { var mockRepository = new Mock <IReadRepository <TestEntity> >(MockBehavior.Strict).Object; var supportedMedia = new LrpSupportedMedia(); var pageLinksBuilder = new Mock <IPageLinksBuilder>(MockBehavior.Strict).Object; var controller = new ReadController <TestEntity>(mockRepository, pageLinksBuilder); var actionResult = await controller.GetItemAsync(0) as BadRequestObjectResult; Assert.NotNull(actionResult); var message = actionResult.Value as string; Assert.NotNull(message); Assert.AreEqual(ReadController <TestEntity> .BadIdMessage, actionResult.Value); }
public async Task GetItemNotFound() { var mockRepository = new Mock <IReadRepository <TestEntity> >(MockBehavior.Strict); mockRepository.Setup(r => r.GetAsync(123)).ReturnsAsync(null as TestEntity); var supportedMedia = new LrpSupportedMedia(); var context = new ControllerContext { HttpContext = new DefaultHttpContext() }; context.HttpContext.Request.Headers["Accept"] = "application/vnd.lrp.v1+json"; var pageLinksBuilder = new Mock <IPageLinksBuilder>(MockBehavior.Strict).Object; var controller = new ReadController <TestEntity>(mockRepository.Object, pageLinksBuilder) { ControllerContext = context }; var result = await controller.GetItemAsync(123) as NotFoundResult; Assert.NotNull(result); }
public void GetItemRepoThrows() { var mockRepository = new Mock <IReadRepository <TestEntity> >(MockBehavior.Strict); mockRepository.Setup(r => r.GetAsync(123)).ThrowsAsync(new IOException()); var supportedMedia = new LrpSupportedMedia(); var context = new ControllerContext { HttpContext = new DefaultHttpContext() }; context.HttpContext.Request.Headers["Accept"] = "application/vnd.lrp.v1+json"; var pageLinksBuilder = new Mock <IPageLinksBuilder>(MockBehavior.Strict).Object; var controller = new ReadController <TestEntity>(mockRepository.Object, pageLinksBuilder) { ControllerContext = context }; Assert.ThrowsAsync <IOException>(async() => await controller.GetItemAsync(123)); }