예제 #1
0
        public Task <NutrientDetailsViewModel> Get([FromQuery][Required] Guid nutrientId)
        {
            var query       = new GetNutrientDetails(nutrientId);
            var handlerTask = this.getNutrientDetailsHandler.HandleQueryAsync(query);

            return(handlerTask
                   .ContinueWith(antecedent => new NutrientDetailsViewModel(antecedent.Result)));
        }
예제 #2
0
        public async Task HandleQueryAsync_WithValidParams_ReturnsNutrient()
        {
            // Arrange
            var id           = new Fixture().Create <Guid>();
            var query        = new GetNutrientDetails(id);
            var fakeNutrient = Nutrient.Create(new Fixture().Create <string>());

            A.CallTo(() => this.repository.GetOneByKeyAsync(id))
            .Returns(fakeNutrient);

            // Act
            var result = await this.sut.HandleQueryAsync(query);

            // Assert
            result.Should().NotBeNull();
            A.CallTo(() => this.repository.GetOneByKeyAsync(id))
            .MustHaveHappenedOnceExactly();
        }
예제 #3
0
 public void HandleQueryAsync_WithNullQuery_Throws()
 {
     // Arrange
     GetNutrientDetails query = default !;