Exemple #1
0
        public async Task OnGetAsync()
        {
            ViewData["returnUrl"] = Request.Headers["Referer"].ToString();
            var query = new GetLogByIdQuery {
                Id = LogId
            };

            Log = await _mediator.Send(query);
        }
Exemple #2
0
        [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"));
        }
Exemple #3
0
 public async Task <object> Handle(GetLogByIdQuery request, CancellationToken cancellationToken)
 {
     return(await Task.FromResult(new { Body = $"{request.Id} log query result" }));
 }
Exemple #4
0
 public async Task <object> GetLogById(GetLogByIdQuery query) =>
 await _mediatr.Send(query);