public async Task OnGetAsync() { ViewData["returnUrl"] = Request.Headers["Referer"].ToString(); var query = new GetLogByIdQuery { Id = LogId }; Log = await _mediator.Send(query); }
[Theory, MemberData(nameof(Ids))] // look for "8d67d5a6-b37a-4a13-83a9-1088e4aa16b6" public void Handle_GivenValidRequest_ShouldReturnLogDetailedModel(string[] idStrings) { // arrange var repositoryMock = new Mock <ILogRepository>(); var logs = new List <Log>(); foreach (var id in idStrings) { var log = Log.CreateLog( Guid.Parse(id), $"message={id}", $"system={id}", LogLevel.Debug, $"stackTrace={id}", new string[] { $"l1={id}", $"l2={id}" } ); logs.Add(log); } repositoryMock.Setup(p => p.GetLogById(It.IsAny <Guid>())).Returns((Guid id) => { var log = logs.FirstOrDefault(p => p.Id == id); return(log); }); var handler = new GetLogByIdQuery.Handler(repositoryMock.Object); var command = new GetLogByIdQuery { Id = Guid.Parse("8d67d5a6-b37a-4a13-83a9-1088e4aa16b6") }; // act var result = handler.Handle(command, CancellationToken.None).Result; // assert Assert.NotNull(result); repositoryMock.Verify(p => p.GetLogById(It.IsAny <Guid>()), Times.Once); Assert.Equal(result.Id, Guid.Parse("8d67d5a6-b37a-4a13-83a9-1088e4aa16b6")); }
public async Task <object> Handle(GetLogByIdQuery request, CancellationToken cancellationToken) { return(await Task.FromResult(new { Body = $"{request.Id} log query result" })); }
public async Task <object> GetLogById(GetLogByIdQuery query) => await _mediatr.Send(query);