public async Task <IActionResult> Create([FromBody] InputMealDto meal) { // TODO: Fix validation attribute, it's not working as expected. if (meal == null) { return(BadRequest()); } var result = await _mealService.CreateAsync( _mapper.Map <Meal>(meal)); return(CreatedAtAction( nameof(Get), new { id = result.Id }, _mapper.Map <MealDto>(result))); }
public async Task <IActionResult> Create([FromBody] MealDto mealDto) { _logger.LogInformation("Entered in [POST] /meals endpoint with mealDto {}", mealDto); IActionResult result; var newMeal = await _mealService.CreateAsync(mealDto); _logger.LogDebug("New meal: {}", newMeal); if (newMeal != null) { result = Created("", newMeal); } else { result = BadRequest(); } return(result); }
public async Task Create_WhenCalled_ReturnsMeal() { // Arrange var mealDto = new MealDto { Name = "MealDto 1" }; var expectedMealDto = new MealDto { Id = 1, Name = "MealDto 1" }; _mockRepository.Setup(r => r.CreateAsync(mealDto)).ReturnsAsync(expectedMealDto); // Act var mealResult = await _sut.CreateAsync(mealDto); // Assert _mockRepository.Verify(r => r.CreateAsync(It.IsAny <MealDto>()), Times.Once); mealResult.Should().NotBeNull(); mealResult.Should().BeEquivalentTo(expectedMealDto); }