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))); } }
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"); }
public TimedTodoRepository(TimedTodoContext timedTodoContext) { this.timedTodoContext = timedTodoContext ?? throw new ArgumentNullException(nameof(timedTodoContext)); }