public void CompleteWorkOnAddedJobWithSomeQuantity_Succeeds(QuantityOfWork someQuantity) { someQuantity = someQuantity.ConstrainAsIncrement(_addedJob.Status); Act_CompleteWork(_addedJob.Id, someQuantity) .Assert_Succeeds(); }
public void CompleteWorkOnAddedJobWithSomeQuantity_FailsWithWorkNotStarted(QuantityOfWork someQuantity) { someQuantity = someQuantity.ConstrainAsIncrement(_addedJob.Status); Act_CompleteWork(_addedJob.Id, someQuantity) .Assert_FailsWith(WorkshopError.WorkNotStarted); }
public static QuantityOfWork ConstrainAsIncrement(this QuantityOfWork quantity, JobStatus status) => quantity % (status.Total - status.Completed);
public void CompleteWorkOnAddedJobWithSomeQuantity_UncommittedEventsContainsWorkerStatusUpdated(QuantityOfWork someQuantity) { someQuantity = someQuantity.ConstrainAsIncrement(_addedJob.Status); Act_CompleteWork(_addedJob.Id, someQuantity); var expectedStatus = _addedWorker.Status.With(busy: _ => false); Assert_UncommittedEventsContains( new WorkshopEvent.WorkerStatusUpdated(_addedWorker.Id, expectedStatus) ); }
protected Maybe <WorkshopError> Act_CompleteWork(JobIdentifier jobId, QuantityOfWork quantity) => _sut.HandleCommand(new WorkshopCommand.CompleteWork(jobId, quantity));
public void CompleteWorkOnSomeJobWithSomeQuantity_FailsWithUnknownJob(JobIdentifier someJob, QuantityOfWork someQuantity) { Act_CompleteWork(someJob, someQuantity) .Assert_FailsWith(WorkshopError.UnknownJob); }
public CompleteWork(JobIdentifier jobId, QuantityOfWork quantity) { JobId = jobId; Quantity = quantity; }