public async Task ForwardedToDRS()
        {
            SetupSoapMock();

            var result = await CreateWorkOrder(wo => wo.AssignedToPrimary.Organization.Reference.First().ID = TestDataSeeder.DRSContractor);

            result.ExternallyManagedAppointment.Should().BeTrue();
            result.ExternalAppointmentManagementUrl.Query.Should().Contain($"tokenId={SoapMock.ExpectedToken}");

            SoapMock.Verify(s => s.createOrderAsync(It.IsAny <V2_Generated_DRS.createOrder>()));
        }
        public async Task Cancelled_DeletesFromDRS()
        {
            SetUserRole(UserGroups.ContractManager);
            SetupSoapMock();

            var result = await CreateWorkOrder(wo => wo.AssignedToPrimary.Organization.Reference.First().ID = TestDataSeeder.DRSContractor);

            await CancelWorkOrder(result.Id);

            SoapMock.Verify(s => s.deleteOrderAsync(It.IsAny <V2_Generated_DRS.deleteOrder>()));
        }
        public async Task NoAccess_DeletesFromDRS()
        {
            SetupSoapMock();

            var result = await CreateWorkOrder(wo => wo.AssignedToPrimary.Organization.Reference.First().ID = TestDataSeeder.DRSContractor);

            await CompleteWorkOrder(result.Id, true, woc =>
            {
                woc.JobStatusUpdates.Single().TypeCode  = JobStatusUpdateTypeCode.DeniedAccess_70;
                woc.JobStatusUpdates.Single().OtherType = string.Empty;
            });

            SoapMock.Verify(s => s.deleteOrderAsync(It.IsAny <V2_Generated_DRS.deleteOrder>()));
        }
        public async Task CompletedInDRS()
        {
            SetupSoapMock();
            SetUserRole(UserGroups.ContractManager);
            var drsOrder = _fixture.Create <order>();

            drsOrder.status = orderStatus.PLANNED;

            var result = await CreateWorkOrder(wo => wo.AssignedToPrimary.Organization.Reference.First().ID = TestDataSeeder.DRSContractor);

            SetupSoapMock();
            await CompleteWorkOrder(result.Id, false);

            SoapMock.Verify(s => s.updateBookingAsync(It.IsAny <updateBooking>()));
        }