public void RemoveMember_AddMember() { // In-memory database only exists while the connection is open var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); try { var options = new DbContextOptionsBuilder <ScrumContext>() .UseSqlite(connection) .Options; // Create the schema in the database using (var context = new ScrumContext(options)) { context.Database.EnsureCreated(); } // Run the test against one instance of the context using (var context = new ScrumContext(options)) { var service = new GroupRepository(context); var user = new User { username = "******" }; GroupMember groupMember = new GroupMember { user = user, role = "Developer", groupID = 1 }; var added = service.AddMember(groupMember); var existingItem = context.GroupMembers.Any(x => x.Username.Equals("Andrew")); Assert.AreEqual(true, existingItem); bool removed = service.RemoveMember(groupMember); bool removedItem = context.GroupMembers.Any(x => x.Username.Equals("Andrew")); Assert.AreEqual(false, removedItem); Assert.AreEqual(true, removed); } } finally { connection.Close(); } }
public void ChangeRole() { // In-memory database only exists while the connection is open var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); try { var options = new DbContextOptionsBuilder <ScrumContext>() .UseSqlite(connection) .Options; // Create the schema in the database using (var context = new ScrumContext(options)) { context.Database.EnsureCreated(); } // Run the test against one instance of the context using (var context = new ScrumContext(options)) { var service = new GroupRepository(context); User user = new User(); user.username = "******"; GroupMember groupMember = new GroupMember(); groupMember.user = user; groupMember.role = "Product Owner"; groupMember.groupID = 1; service.AddMember(groupMember); Assert.AreEqual("Product Owner", context.GroupMembers.Find("dave").GroupRole); groupMember.role = "Scrum Master"; service.ChangeRole(groupMember); Assert.AreEqual("Scrum Master", context.GroupMembers.Find("dave").GroupRole); } } finally { connection.Close(); } }