public async Task GivenEmployerOwnedVacancy_ThenDoNotProcess()
        {
            var existingVacancy = GetTestEmployerOwnedVacancy();

            _mockRepository.Setup(x => x.GetVacancyAsync(existingVacancy.Id))
            .ReturnsAsync(existingVacancy);

            var command = new PatchVacancyTrainingProviderCommand(existingVacancy.Id);

            await _handler.Handle(command, CancellationToken.None);

            _mockTrainingProvider.Verify(x => x.GetProviderAsync(It.IsAny <long>()), Times.Never);
            _mockRepository.Verify(x => x.UpdateAsync(It.IsAny <Vacancy>()), Times.Never);
        }
        public async Task GivenEsfaUkprnProviderOwnedVacancy_ThenDoNotCallProvidersApi()
        {
            var existingVacancy = GetTestProviderOwnedVacancy(EsfaUkprn);

            _mockRepository.Setup(x => x.GetVacancyAsync(existingVacancy.Id))
            .ReturnsAsync(existingVacancy);

            var command = new PatchVacancyTrainingProviderCommand(existingVacancy.Id);

            await _handler.Handle(command, CancellationToken.None);

            _updatedVacancy.TrainingProvider.Name.Should().Be("Education Skills Funding Agency");
            _updatedVacancy.TrainingProvider.Address.Should().NotBeNull();
            _mockTrainingProvider.Verify(x => x.GetProviderAsync(EsfaUkprn), Times.Never);
            _mockRepository.Verify(x => x.UpdateAsync(_updatedVacancy), Times.AtMostOnce);
        }
        public Task PatchTrainingProviderAsync(Guid vacancyId)
        {
            var command = new PatchVacancyTrainingProviderCommand(vacancyId);

            return(_messaging.SendCommandAsync(command));
        }