public async Task Read_Ok() { // Arrange var model = new { Name = "Name", Id = Guid.NewGuid() }; var keyValues = new object[] { model.Id }; _mediator.Setup(x => x.Send( It.Is <ReadRequest <object, object> >(y => y.KeyValues[0] == keyValues[0]), It.IsAny <CancellationToken>())) .ReturnsAsync(model); var cache = new Mock <IMemoryCache>(); cache.Setup(x => x.CreateEntry(It.IsAny <object[]>())).Returns(Mock.Of <ICacheEntry>()); var controller = new FakeClassController(_mediator.Object, cache.Object, Mock.Of <IOptions <CacheOptions> >()); // Act var read = await controller.Read(keyValues); // Assert var result = Assert.IsType <OkObjectResult>(read); _mediator.Verify(x => x.Publish( It.IsAny <ReadNotification <object> >(), It.IsAny <CancellationToken>()), Times.Exactly(2)); Assert.Equal(model, result.Value); }
public async Task Read_Bad_Request_Id() { // Arrange var keyValues = new object[] { Guid.NewGuid() }; _mediator.Setup(x => x.Send( It.Is <ReadRequest <object, object> >(y => y.KeyValues[0] == keyValues[0]), It.IsAny <CancellationToken>())) .ThrowsAsync(new Exception()); var controller = new FakeClassController(_mediator.Object, Mock.Of <IMemoryCache>(), Mock.Of <IOptions <CacheOptions> >()); // Act var read = await controller.Read(keyValues); // Assert var result = Assert.IsType <BadRequestObjectResult>(read); _mediator.Verify(x => x.Publish( It.IsAny <ReadNotification <object> >(), It.IsAny <CancellationToken>()), Times.Exactly(2)); Assert.Equal(keyValues, result.Value); }