public AddOfferingCommandHandler_should() { _products = new List <ProductEntity>(new[] { Any.ProductEntity(Any.String(), new DateTime(2019, 02, 01)) }); _context = GetContextWithData(); _handler = new AddOfferingCommandHandler(_context); _command = new AddOfferingCommand(_products.First().ProductKey, _products.First().EffectiveStartDate, Any.String(), Any.String(), Any.String(), Any.String()); }
public async Task <IActionResult> AddOfferingAsync([FromQuery, Required] string productKey, [FromBody] AddOfferingDto request) { try { var addOfferingCommand = new AddOfferingCommand(productKey, request.OrderStartDate, request.OfferingFormatCode, request.OfferingPlatformCode, request.OfferingStatusCode, request.OfferingEdition); await _mediator.Send(addOfferingCommand); return(Ok()); } catch (Exception ex) { _logger.LogError(ex, "Something went wrong in AddOfferingAsync"); var errorResponse = new ProblemDetails() { Title = "An unexpected error occurred. Please try again later.", Status = StatusCodes.Status500InternalServerError, Detail = ex.Message }; return(StatusCode(StatusCodes.Status500InternalServerError, errorResponse)); } }
public async Task Throw_Validation_Error_If_Product_Doesnt_ExistAsync() { _command = new AddOfferingCommand(_products.First().ProductKey + "nope", _products.First().EffectiveStartDate, Any.String(), Any.String(), Any.String(), Any.String()); _ = await Assert.ThrowsAsync <ValidationException>(() => _handler.Handle(_command, default)); }