Пример #1
0
        public void Finish_Should_Finish_An_Existing_Job()
        {
            // arrange
            CustomerBuilder       customerBuilder       = new CustomerBuilder();
            VehicleBuilder        vehicleBuilder        = new VehicleBuilder();
            MaintenanceJobBuilder maintenanceJobBuilder = new MaintenanceJobBuilder();
            Customer customer = customerBuilder
                                .Build();
            Vehicle vehicle = vehicleBuilder
                              .WithCustomerId(customer.CustomerId)
                              .Build();
            MaintenanceJob sut = maintenanceJobBuilder
                                 .WithCustomer(customer)
                                 .WithVehicle(vehicle)
                                 .Build();

            DateTime actualStartTime = maintenanceJobBuilder.StartTime.AddMinutes(30);
            DateTime actualEndTime   = maintenanceJobBuilder.EndTime.AddMinutes(15);
            string   notes           = $"Mechanic notes {maintenanceJobBuilder.Id}";

            // act
            sut.Finish(actualStartTime, actualEndTime, notes);

            // assert
            Assert.Equal(maintenanceJobBuilder.Id, sut.Id);
            Assert.Equal(maintenanceJobBuilder.StartTime, sut.StartTime);
            Assert.Equal(maintenanceJobBuilder.EndTime, sut.EndTime);
            Assert.Equal(customer, sut.Customer);
            Assert.Equal(vehicle, sut.Vehicle);
            Assert.Equal(maintenanceJobBuilder.Description, sut.Description);
            Assert.Equal(actualStartTime, sut.ActualStartTime.Value);
            Assert.Equal(actualEndTime, sut.ActualEndTime.Value);
            Assert.Equal(notes, sut.Notes);
            Assert.Equal("Completed", sut.Status);
        }
Пример #2
0
    private void Handle(MaintenanceJobFinished e)
    {
        MaintenanceJob job            = Jobs.FirstOrDefault(j => j.Id == e.JobId);
        Timeslot       actualTimeslot = Timeslot.Create(e.StartTime, e.EndTime);

        job.Finish(actualTimeslot, e.Notes);
    }
Пример #3
0
        public void Finish_Should_Finish_An_Existing_Job()
        {
            // arrange
            MaintenanceJobBuilder maintenanceJobBuilder = new MaintenanceJobBuilder();
            MaintenanceJob        sut = maintenanceJobBuilder
                                        .Build();

            DateTime actualStartTime = maintenanceJobBuilder.StartTime.AddMinutes(30);
            DateTime actualEndTime   = maintenanceJobBuilder.EndTime.AddMinutes(15);
            string   notes           = $"Mechanic notes {maintenanceJobBuilder.JobId}";

            // act
            sut.Finish(actualStartTime, actualEndTime, notes);

            // assert
            Assert.Equal(maintenanceJobBuilder.JobId, sut.Id);
            Assert.Equal(maintenanceJobBuilder.StartTime, sut.StartTime);
            Assert.Equal(maintenanceJobBuilder.EndTime, sut.EndTime);
            Assert.Equal(maintenanceJobBuilder.CustomerBuilder.Id, sut.Customer.Id);
            Assert.Equal(maintenanceJobBuilder.CustomerBuilder.Name, sut.Customer.Name);
            Assert.Equal(maintenanceJobBuilder.CustomerBuilder.TelephoneNumber, sut.Customer.TelephoneNumber);
            Assert.Equal(maintenanceJobBuilder.VehicleBuilder.LicenseNumber, sut.Vehicle.Id);
            Assert.Equal(maintenanceJobBuilder.VehicleBuilder.Brand, sut.Vehicle.Brand);
            Assert.Equal(maintenanceJobBuilder.VehicleBuilder.Type, sut.Vehicle.Type);
            Assert.Equal(maintenanceJobBuilder.VehicleBuilder.OwnerId, sut.Vehicle.OwnerId);
            Assert.Equal(maintenanceJobBuilder.Description, sut.Description);
            Assert.Equal(actualStartTime, sut.ActualStartTime.Value);
            Assert.Equal(actualEndTime, sut.ActualEndTime.Value);
            Assert.Equal(notes, sut.Notes);
            Assert.Equal("Completed", sut.Status);
        }