Exemplo n.º 1
0
        public void CompleteWorkOnAddedJobWithSomeQuantity_Succeeds(QuantityOfWork someQuantity)
        {
            someQuantity = someQuantity.ConstrainAsIncrement(_addedJob.Status);

            Act_CompleteWork(_addedJob.Id, someQuantity)
            .Assert_Succeeds();
        }
Exemplo n.º 2
0
        public void CompleteWorkOnAddedJobWithSomeQuantity_FailsWithWorkNotStarted(QuantityOfWork someQuantity)
        {
            someQuantity = someQuantity.ConstrainAsIncrement(_addedJob.Status);

            Act_CompleteWork(_addedJob.Id, someQuantity)
            .Assert_FailsWith(WorkshopError.WorkNotStarted);
        }
Exemplo n.º 3
0
 public static QuantityOfWork ConstrainAsIncrement(this QuantityOfWork quantity, JobStatus status)
 => quantity % (status.Total - status.Completed);
Exemplo n.º 4
0
        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)
                );
        }
Exemplo n.º 5
0
 protected Maybe <WorkshopError> Act_CompleteWork(JobIdentifier jobId, QuantityOfWork quantity)
 => _sut.HandleCommand(new WorkshopCommand.CompleteWork(jobId, quantity));
Exemplo n.º 6
0
 public void CompleteWorkOnSomeJobWithSomeQuantity_FailsWithUnknownJob(JobIdentifier someJob, QuantityOfWork someQuantity)
 {
     Act_CompleteWork(someJob, someQuantity)
     .Assert_FailsWith(WorkshopError.UnknownJob);
 }
Exemplo n.º 7
0
 public CompleteWork(JobIdentifier jobId, QuantityOfWork quantity)
 {
     JobId    = jobId;
     Quantity = quantity;
 }