/// <inheritdoc /> public async Task <DocumentResponse> GetDocumentAsync(Guid id) { this._logger.LogDebug(nameof(this.GetDocumentAsync), id); var query = new GetDocumentQuery(id); Document document = await this._mediator.Send(query); return(this._mapper.Map <DocumentResponse>(document)); }
public async Task Handler_GivenEmptyFilenameParameters_ReturnsNoValue() { var filename = "example.pdf"; var cancellationToken = new CancellationToken(); var repository = new Mock <IDocumentRepository>(); repository.Setup(x => x.GetSingle(filename)).Returns((Document)null); var request = new GetDocumentQuery(filename); var handler = new GetDocumentQueryHandler(repository.Object); var result = await handler.Handle(request, cancellationToken); result.IsSuccessful.ShouldBeFalse(); result.Value.ShouldBeNull(); }
public async Task Handler_GivenValidFilename_ReturnsDocument() { var filename = "example.pdf"; var contentType = "application/pdf"; var bytes = 1000; var cancellationToken = new CancellationToken(); var dateCreated = new DateTime(2000, 12, 31, 01, 02, 03); var repository = new Mock <IDocumentRepository>(); repository.Setup(x => x.GetSingle(filename)).Returns(new Document(filename, bytes, contentType, dateCreated)); var request = new GetDocumentQuery(filename); var handler = new GetDocumentQueryHandler(repository.Object); var result = await handler.Handle(request, cancellationToken); result.IsSuccessful.ShouldBeTrue(); result.Value.ContentType.ShouldBe(contentType); result.Value.Filename.ShouldBe(filename); result.Value.Bytes.ShouldBe(bytes); result.Value.DateCreated.ShouldBe(dateCreated); }