public void UpdateTest() { var newReferenceNumber = 3L; IGetOpenConnection connection = new GetOpenConnectionFromConnectionString(_connectionString); var logger = new Mock <ILogService>(); IApprenticeshipVacancyReadRepository readRepository = new ApprenticeshipVacancyRepository(connection, _mapper, logger.Object); IApprenticeshipVacancyWriteRepository writeRepository = new ApprenticeshipVacancyRepository(connection, _mapper, logger.Object); var vacancy = readRepository.Get(VacancyReferenceNumber_VacancyA); vacancy.VacancyReferenceNumber = newReferenceNumber; vacancy.LocationAddresses = null; // TODO: Change to separate repo method writeRepository.Save(vacancy); vacancy = readRepository.Get(VacancyReferenceNumber_VacancyA); vacancy.Should().BeNull(); vacancy = readRepository.Get(newReferenceNumber); vacancy.Status.Should().Be(ProviderVacancyStatuses.Live); vacancy.Title.Should().Be("Test vacancy"); vacancy.WageType.Should().Be(WageType.Custom); vacancy.TrainingType = TrainingType.Frameworks; }
public void RoundTripTest() { // Arrange var database = new GetOpenConnectionFromConnectionString(_connectionString); var logger = new Mock <ILogService>(); var repository = new ApprenticeshipVacancyRepository(database, _mapper, logger.Object); var vacancy = CreateValidDomainVacancy(); // Act repository.Save(vacancy); var loadedVacancy = repository.Get(vacancy.VacancyReferenceNumber); // Assert loadedVacancy.ShouldBeEquivalentTo(vacancy, options => ExcludeHardOnes(options) .Excluding(x => Regex.IsMatch(x.SelectedMemberPath, "LocationAddresses\\[[0-9]+\\].Address.Uprn")) //TODO .Using <DateTime>(ctx => ctx.Subject.Should().BeCloseTo(ctx.Expectation, 1000)) .WhenTypeIs <DateTime>()); }