public async Task UpdateTimedAppointment() { const int workOrderId = 100001; await CreateWorkOrder(workOrderId); const string expectedReason = "reason"; var existingAppointment = new Appointment { Date = DateTime.UtcNow, StartTime = DateTime.UtcNow, EndTime = DateTime.UtcNow.AddHours(5), WorkOrderId = workOrderId, AppointmentReason = "not" + expectedReason }; await InMemoryDb.Instance.Appointments.AddAsync(existingAppointment); await InMemoryDb.Instance.SaveChangesAsync(); var startTime = existingAppointment.StartTime.AddDays(7); var endTime = existingAppointment.EndTime.AddDays(7); await _classUnderTest.SetTimedBooking(workOrderId, startTime, endTime, expectedReason); var appointment = await InMemoryDb.Instance.Appointments.SingleOrDefaultAsync(a => a.WorkOrderId == workOrderId); appointment.Should().NotBeNull(); appointment.WorkOrderId.Should().Be(workOrderId); appointment.Date.Should().Be(startTime.Date); appointment.StartTime.Should().Be(startTime); appointment.EndTime.Should().Be(endTime); appointment.AppointmentReason.Should().Be(expectedReason); }
public async Task UpdateSlotAppointment() { const int workOrderId = 100001; var startTime = new DateTime().AddHours(8); var endTime = new DateTime().AddHours(12); var ids = SeedAppointmentData("contractor", new[] { new DaySeedModel(DateTime.UtcNow.DayOfWeek, 1), }, new[] { new AppointmentSeedModel("AM", startTime, endTime) }); var existingAppointment = new Appointment { Date = DateTime.UtcNow, StartTime = DateTime.UtcNow, EndTime = DateTime.UtcNow.AddHours(5), WorkOrderId = workOrderId }; await InMemoryDb.Instance.Appointments.AddAsync(existingAppointment); await InMemoryDb.Instance.SaveChangesAsync(); var appointmentRef = GenerateAppointmentRef(ids.First(), DateTime.UtcNow); await _classUnderTest.CreateSlotBooking(appointmentRef, workOrderId); var appointment = await InMemoryDb.Instance.Appointments.SingleOrDefaultAsync(a => a.WorkOrderId == workOrderId); appointment.Should().NotBeNull(); appointment.StartTime.Should().Be(startTime); appointment.EndTime.Should().Be(endTime); }