[TestCase(6, 9, 8)] // when london is in GMT+1 shift an hour
        public void MapsFromDrsTime(int month, int hourIn, int expectedHour)
        {
            var timeIn   = new DateTime(2020, month, 01, hourIn, 00, 00, DateTimeKind.Utc);
            var expected = new DateTime(2020, month, 01, expectedHour, 00, 00, DateTimeKind.Utc);

            var result = DrsHelpers.ConvertFromDrsTimeZone(timeIn);

            result.Should().Be(expected);
        }
        private async Task AddAuditTrail(int workOrderId, bookingConfirmation bookingConfirmation)
        {
            var update = new JobStatusUpdate
            {
                EventTime          = DrsHelpers.ConvertFromDrsTimeZone(bookingConfirmation.changedDate),
                RelatedWorkOrderId = workOrderId,
                TypeCode           = JobStatusUpdateTypeCode.Other_0,
                OtherType          = CustomJobStatusUpdates.AddNote,
                Comments           = $"DRS: Appointment has been updated in DRS to {bookingConfirmation.planningWindowStart.ToDateTime()} - {bookingConfirmation.planningWindowEnd.ToDateTime()} Reason: {bookingConfirmation.bookingReason}"
            };

            await _jobStatusUpdateGateway.CreateJobStatusUpdate(update);
        }
        public async Task AddsNote()
        {
            const int workOrderId = 1234;

            ReturnsWorkOrder(workOrderId);
            var bookingConfirmation = CreateBookingConfirmation(workOrderId);

            await _classUnderTest.ConfirmBooking(bookingConfirmation);

            var expectedComment = $"DRS: Appointment has been updated in DRS to {bookingConfirmation.planningWindowStart.ToDateTime()} - {bookingConfirmation.planningWindowEnd.ToDateTime()} Reason: {bookingConfirmation.bookingReason}";

            _jobStatusUpdateGatewayMock.Verify(x => x.CreateJobStatusUpdate(It.Is <JobStatusUpdate>(update =>
                                                                                                    update.RelatedWorkOrderId == workOrderId &&
                                                                                                    update.TypeCode == JobStatusUpdateTypeCode.Other_0 &&
                                                                                                    update.OtherType == CustomJobStatusUpdates.AddNote &&
                                                                                                    update.Comments == expectedComment &&
                                                                                                    update.EventTime == DrsHelpers.ConvertFromDrsTimeZone(bookingConfirmation.changedDate)
                                                                                                    )));
        }