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);
 }
Beispiel #7
0
 public CompleteWork(JobIdentifier jobId, QuantityOfWork quantity)
 {
     JobId    = jobId;
     Quantity = quantity;
 }