Пример #1
0
        public async Task CompleteJobAsyncWorksCorrectly(ServiceFrequency serviceFrequency, int expectedJobsCount)
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()).Options;
            var dbContext = new ApplicationDbContext(options);

            var id  = Guid.NewGuid().ToString();
            var job = new Job()
            {
                Id = id,
            };

            dbContext.Add(job);
            await dbContext.SaveChangesAsync();

            var dateTimeProviderMock = new Mock <IDateTimeProvider>();

            dateTimeProviderMock.Setup(d => d.GetUtcNow()).Returns(new DateTime(2020, 5, 4, 12, 30, 0));
            var repository = new EfDeletableEntityRepository <Job>(dbContext);
            var service    = new JobsService.JobsService(repository, dateTimeProviderMock.Object);

            await service.CompleteJobAsync(id, Guid.NewGuid().ToString(), serviceFrequency, new DateTime(2020, 5, 4, 10, 0, 0), new DateTime(2020, 5, 4, 12, 0, 0));

            var result = dbContext.Jobs.Count();

            Assert.Equal(expectedJobsCount, result);
        }
Пример #2
0
        public async Task CreateAsyncWorksCorrectly(DateTime currentDate, ServiceFrequency serviceFrequency, DateTime appointmentStartDate, DateTime appointmentEndDate, DateTime expectedStartDate, DateTime expectedFinishDate)
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()).Options;
            var dbContext = new ApplicationDbContext(options);

            var dateTimeProviderMock = new Mock <IDateTimeProvider>();

            dateTimeProviderMock.Setup(d => d.GetUtcNow()).Returns(currentDate);

            var repository = new EfDeletableEntityRepository <Job>(dbContext);

            var service = new JobsService.JobsService(repository, dateTimeProviderMock.Object);
            await service.CreateAsync(Guid.NewGuid().ToString(), serviceFrequency, appointmentStartDate, appointmentEndDate);

            var result = dbContext.Jobs.FirstOrDefault();

            Assert.Equal(expectedStartDate, result.StartDate);
            Assert.Equal(expectedFinishDate, result.FinishDate);
        }