public static Guid SeedTaskDefinition(DbContextOptions <TimedTodoContext> options)
 {
     using (var context = new TimedTodoContext(options))
     {
         var taskDefinition = new TaskDefinition();
         context.Add(taskDefinition);
         context.SaveChanges();
         return(taskDefinition.Id);
     }
 }
        public static IEnumerable <TaskDefinition> SeedMultipleTaskDefinitions(
            DbContextOptions <TimedTodoContext> options, int numberToSeed)
        {
            IEnumerable <TaskDefinition> taskDefs = GetTaskDefinitions(numberToSeed);

            using (var context = new TimedTodoContext(options))
            {
                context.AddRange(taskDefs);
                context.SaveChanges();
            }
            return(taskDefs);
        }
        public async Task RepositoryWithoutTaskDefinitionsReturnsEmptyList()
        {
            var builder = TestsHelper.SetupInMemoryDatabase(Guid.NewGuid().ToString());

            using (var context = new TimedTodoContext(builder.Options))
            {
                var repository      = new TimedTodoRepository(context);
                var taskDefinitions = await repository.GetTaskDefinitionsAsync();

                Assert.IsTrue(taskDefinitions.ToList().Count == 0);
            }
        }
        public async Task RepositoryWithoutTaskDefinitionReturnsNull()
        {
            var builder = TestsHelper.SetupInMemoryDatabase(Guid.NewGuid().ToString());

            using (var context = new TimedTodoContext(builder.Options))
            {
                var repository     = new TimedTodoRepository(context);
                var taskDefinition = await repository.GetTaskDefinitionAsync(Guid.NewGuid());

                Assert.IsNull(taskDefinition);
            }
        }
        public async Task RepositoryCanGetTaskDefinitions()
        {
            var builder = TestsHelper.SetupInMemoryDatabase(Guid.NewGuid().ToString());

            var seededTaskDefininitions = TestsHelper.SeedMultipleTaskDefinitions(builder.Options, 3)
                                          .OrderBy(t => t.Id).ToList();

            using (var context = new TimedTodoContext(builder.Options))
            {
                var repository      = new TimedTodoRepository(context);
                var taskDefinitions = (await repository.GetTaskDefinitionsAsync()).OrderBy(t => t.Id).ToList();
                CollectionAssert.AreEqual(seededTaskDefininitions, taskDefinitions, taskDefinitionComparer);
            }
        }
        public async Task RepositoryCanGetTaskDefinition()
        {
            var builder = TestsHelper.SetupInMemoryDatabase(Guid.NewGuid().ToString());

            Guid taskDefinitionId = TestsHelper.SeedTaskDefinition(builder.Options);

            using (var context = new TimedTodoContext(builder.Options))
            {
                var repository = new TimedTodoRepository(context);
                var retrievedTaskDefinition = await repository.GetTaskDefinitionAsync(taskDefinitionId);

                Assert.AreEqual(taskDefinitionId, retrievedTaskDefinition.Id);
            }
        }
        public async Task RepositoryCanAddTaskDefinition()
        {
            var taskDefinition = new TaskDefinition
            {
                Title           = "Task Definition",
                DefaultTimeSpan = new TimeSpan(),
            };
            var builder = TestsHelper.SetupInMemoryDatabase(Guid.NewGuid().ToString());

            using (var context = new TimedTodoContext(builder.Options))
            {
                var repo = new TimedTodoRepository(context);
                repo.AddTaskDefinition(taskDefinition);
                await repo.SaveChangesAsync();

                var savedTaskDefinition = (await repo.GetTaskDefinitionsAsync()).First();
                Assert.AreEqual(0, (new TaskDefinitionComparer().Compare(taskDefinition, savedTaskDefinition)));
            }
        }
Esempio n. 8
0
        static void Main(string[] args)
        {
            TimedTodoContext timedTodoContext = new TimedTodoContext();
            var taskDefinition = new TaskDefinition()
            {
                Title = "My first task def"
            };

            timedTodoContext.TaskDefinitions.Add(taskDefinition);
            var taskInstance = new TaskInstance
            {
                TaskDefinition = taskDefinition,
                TotalTime      = new TimeSpan(),
                ElapsedTime    = new TimeSpan()
            };

            timedTodoContext.TaskInstances.Add(taskInstance);
            timedTodoContext.SaveChanges();


            Console.WriteLine("hey");
        }
Esempio n. 9
0
 public TimedTodoRepository(TimedTodoContext timedTodoContext)
 {
     this.timedTodoContext = timedTodoContext ??
                             throw new ArgumentNullException(nameof(timedTodoContext));
 }