public void Create_ShouldAdd_CorrectEntityToDb() { var options = new DbContextOptionsBuilder <TasksDbContext>() .UseInMemoryDatabase(databaseName: "Get_create_group") .Options; using (var context = new TasksDbContext(options)) { var taskGroupManager = new TaskGroupDbManager(context, _mapper); taskGroupManager.Create(new TaskGroupViewModel { Name = "TestGroup", UserTasks = new List <UserTaskViewModel> { new UserTaskViewModel { Name = "TestTask1" }, new UserTaskViewModel { Name = "TestTask2" } } }); } using (var context = new TasksDbContext(options)) { Assert.That(context.TaskGroups.Count(), Is.EqualTo(1)); Assert.That(context.UserTasks.Count(), Is.EqualTo(2)); var result = context.TaskGroups.Include(g => g.UserTasks).First(); Assert.That(result.Name, Is.EqualTo("TestGroup")); Assert.That(result.UserTasks.Count, Is.EqualTo(2)); Assert.That(result.UserTasks.ToList().Exists(t => t.Name == "TestTask1" || t.Name == "TestTask2"), Is.True); context.Database.EnsureDeleted(); } }
public void GetById_ShouldReturn_CorrectGroupFromDb() { var options = new DbContextOptionsBuilder <TasksDbContext>() .UseInMemoryDatabase(databaseName: "Get_group_by_id") .Options; using (var context = new TasksDbContext(options)) { context.TaskGroups.AddRange(new TaskGroupEntity { Name = "TestGroup1", UserTasks = new List <UserTaskEntity> { new UserTaskEntity { Name = "TestTask" } } }, new TaskGroupEntity { Name = "TestGroup2" }); context.SaveChanges(); } using (var context = new TasksDbContext(options)) { var taskGroupManager = new TaskGroupDbManager(context, _mapper); var result = taskGroupManager.Get(1); Assert.That(result.Id, Is.EqualTo(1)); Assert.That(result.Name, Is.EqualTo("TestGroup1")); Assert.That(result.UserTasks.ToList().Exists(t => t.Name == "TestTask"), Is.True); context.Database.EnsureDeleted(); } }
public void Delete_ShouldRemove_EntityFromDb() { var options = new DbContextOptionsBuilder <TasksDbContext>() .UseInMemoryDatabase(databaseName: "Get_all_groups") .Options; using (var context = new TasksDbContext(options)) { context.TaskGroups.AddRange(new TaskGroupEntity { Name = "TestGroup1", UserTasks = new List <UserTaskEntity> { new UserTaskEntity { Name = "TestTask" } } }); context.SaveChanges(); var groupsDbManger = new TaskGroupDbManager(context, _mapper); groupsDbManger.Remove(1); } using (var context = new TasksDbContext(options)) { Assert.That(context.TaskGroups.Count(), Is.EqualTo(0)); Assert.That(context.UserTasks.Count(), Is.EqualTo(0)); context.Database.EnsureDeleted(); } }
public void Get_ShouldReturn_AllGroupsFromDb() { var options = new DbContextOptionsBuilder <TasksDbContext>() .UseInMemoryDatabase(databaseName: "Get_all_groups") .Options; using (var context = new TasksDbContext(options)) { context.TaskGroups.AddRange(new TaskGroupEntity { Name = "TestGroup1", UserTasks = new List <UserTaskEntity> { new UserTaskEntity { Name = "TestTask" } } }, new TaskGroupEntity { Name = "TestGroup2" }); context.SaveChanges(); } using (var context = new TasksDbContext(options)) { var taskGroupManager = new TaskGroupDbManager(context, _mapper); var result = taskGroupManager.Get(); Assert.That(result.Count, Is.EqualTo(2)); Assert.That(result.Exists(group => group.Name == "TestGroup1" && group.Id == 1 && group.UserTasks.Count() == 1), Is.True); Assert.That(result.Exists(group => group.Name == "TestGroup2" && group.Id == 2 && !group.UserTasks.Any()), Is.True); context.Database.EnsureDeleted(); } }
public void Update_ShouldSet_CorrectValuesOnEntity() { var options = new DbContextOptionsBuilder <TasksDbContext>() .UseInMemoryDatabase(databaseName: "Update_group") .Options; using (var context = new TasksDbContext(options)) { context.TaskGroups.Add(new TaskGroupEntity { Name = "TestGroup1", UserTasks = new List <UserTaskEntity> { new UserTaskEntity { Name = "TestTask" } } }); context.SaveChanges(); var groupsDbManger = new TaskGroupDbManager(context, _mapper); groupsDbManger.Update(1, new TaskGroupViewModel { Id = 1, Name = "UpdatedGroup", UserTasks = new List <UserTaskViewModel> { new UserTaskViewModel { Name = "TestTask1" }, new UserTaskViewModel { Name = "TestTask2" } } }); } using (var context = new TasksDbContext(options)) { Assert.That(context.TaskGroups.Count(), Is.EqualTo(1)); Assert.That(context.UserTasks.Count(), Is.EqualTo(2)); var result = context.TaskGroups.Include(g => g.UserTasks).First(); Assert.That(result.Id, Is.EqualTo(1)); Assert.That(result.Name, Is.EqualTo("UpdatedGroup")); Assert.That(result.UserTasks.ToList().Exists(t => t.Name == "TestTask1" || t.Name == "TestTask2"), Is.True); context.Database.EnsureDeleted(); } }