public async Task <IActionResult> UpdateOfferingAsync([FromRoute, Required] string productKey, [FromRoute, Required] string offeringKey, [FromBody] UpdateOfferingDto request) { try { var updateOfferingCommand = new UpdateOfferingCommand(productKey, offeringKey, request.ChangeEffectiveDate ?? DateTime.UtcNow, request.OfferingFormatCode, request.OfferingPlatformCode, request.OfferingStatusCode, request.OfferingEdition); await _mediator.Send(updateOfferingCommand); return(Ok()); } catch (Exception ex) { _logger.LogError(ex, "Something went wrong in UpdateOfferingAsync"); 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 UpdateOfferingCommandHandler_should() { _products = new List <ProductEntity>(new[] { Any.ProductEntity(Any.String(), new DateTime(2019, 02, 01)) }); _offerings = new List <OfferingEntity>(new[] { Any.OfferingEntity("key", _products.First().ProductId, _products.First().EffectiveStartDate) });; _context = GetContextWithData(); _handler = new UpdateOfferingCommandHandler(_context); _command = new UpdateOfferingCommand(_products.First().ProductKey, _offerings.First().OfferingKey, _products.First().EffectiveStartDate.AddDays(1), Any.String(), Any.String(), Any.String(), Any.String()); }
public async Task Throw_Validation_Error_If_Offering_Doesnt_ExistAsync() { _command = new UpdateOfferingCommand(_products.First().ProductKey, _offerings.First().OfferingKey + "nope", _products.First().EffectiveStartDate.AddDays(1), Any.String(), Any.String(), Any.String(), Any.String()); _ = await Assert.ThrowsAsync <ValidationException>(() => _handler.Handle(_command, default)); }