public void UpdatingMashReferralThrowsWorkerNotFoundExceptionWhenGetWorkerByWorkerEmailReturnsNull() { var mashReferralId = _faker.Random.Long(); var request = TestHelpers.CreateUpdateMashReferral(); request.WorkerId = null; _databaseGateway.Setup(x => x.GetWorkerByEmail(request.WorkerEmail)); Action act = () => _mashReferralUseCase.UpdateMashReferral(request, mashReferralId); act.Should().Throw <WorkerNotFoundException>() .WithMessage($"Worker with email \"{request.WorkerEmail}\" not found"); }
public IActionResult UpdateMashReferral([FromBody] UpdateMashReferral request, long referralId) { var validator = new UpdateMashReferralValidator(); var validation = validator.Validate(request); if (!validation.IsValid) { return(BadRequest(validation.ToString())); } try { var updatedReferral = _mashReferralUseCase.UpdateMashReferral(request, referralId); return(Ok(updatedReferral)); } catch (Exception e) when( e is MashReferralNotFoundException || e is WorkerNotFoundException || e is MashReferralStageMismatchException) { return(BadRequest(e.Message)); } }