public async void UserDetailsWorks(int id, string name) { var options = new DbContextOptionsBuilder <Data.D20CharacterDatabaseContext>() .UseInMemoryDatabase("create_user_test").Options; using (var db = new Data.D20CharacterDatabaseContext(options)) { Lib.IRepo sut = new Data.D20Repo(db); Lib.User user = new Lib.User(); if (await db.Gamer.FirstOrDefaultAsync(g => g.GamerId == 1) == null) { user.UserID = 0; user.Username = "******"; user.Characters = new List <Lib.Character>(); user.MyCampaigns = new List <Lib.Campaign>(); db.Gamer.Add(user); db.SaveChanges(); } user.UserID = id; user.Username = name; user.Characters = new List <Lib.Character>(); user.MyCampaigns = new List <Lib.Campaign>(); sut.CreateUser(user); Data.Gamer testUser = await db.Gamer.FirstOrDefaultAsync(u => u.UserName == name); bool actual = (testUser != null && testUser.UserName == name); Assert.True(actual); user = sut.UserDetails(testUser.GamerId); actual = user.Username == name; Assert.True(actual); } }
public async void UserListWorks() { var options = new DbContextOptionsBuilder <Data.D20CharacterDatabaseContext>() .UseInMemoryDatabase("user_list_test").Options; using (var db = new Data.D20CharacterDatabaseContext(options)) { Lib.IRepo sut = new Data.D20Repo(db); Lib.User user = new Lib.User(); if (await db.Gamer.FirstOrDefaultAsync(g => g.GamerId == 1) == null) { user.UserID = 0; user.Username = "******"; user.Characters = new List <Lib.Character>(); user.MyCampaigns = new List <Lib.Campaign>(); db.Gamer.Add(user); db.SaveChanges(); } user.UserID = 0; user.Username = "******"; user.Characters = new List <Lib.Character>(); user.MyCampaigns = new List <Lib.Campaign>(); sut.CreateUser(user); Lib.User user2 = new Lib.User(); user2.UserID = 0; user2.Username = "******"; user2.Characters = new List <Lib.Character>(); user2.MyCampaigns = new List <Lib.Campaign>(); sut.CreateUser(user2); Data.Gamer testUser = await db.Gamer.FirstOrDefaultAsync(u => u.UserName == user.Username); Data.Gamer testUser2 = await db.Gamer.FirstOrDefaultAsync(u => u.UserName == user2.Username); bool actual = (testUser != null && testUser.UserName == user.Username && testUser2 != null && testUser2.UserName == user2.Username); Assert.True(actual); IList <Lib.User> list = (IList <Lib.User>)sut.UserList(); actual = (list.Count == 3 && list[1].Username == user.Username && list[2].Username == user2.Username); Assert.True(actual); } }
public async void AddGMWorks() { var options = new DbContextOptionsBuilder <Data.D20CharacterDatabaseContext>() .UseInMemoryDatabase("add_gm_test").Options; using (var db = new Data.D20CharacterDatabaseContext(options)) { Lib.IRepo sut = new Data.D20Repo(db); Lib.User user = new Lib.User(); if (await db.Gamer.FirstOrDefaultAsync(g => g.GamerId == 1) == null) { user.UserID = 0; user.Username = "******"; user.Characters = new List <Lib.Character>(); user.MyCampaigns = new List <Lib.Campaign>(); db.Gamer.Add(user); db.SaveChanges(); } user.UserID = 0; user.Username = "******"; user.Characters = new List <Lib.Character>(); user.MyCampaigns = new List <Lib.Campaign>(); sut.CreateUser(user); Lib.Campaign camp = new Lib.Campaign(); if (await db.Campaign.FirstOrDefaultAsync(c => c.CampaignId == 1) == null) { camp.CampID = 0; camp.Name = "No Campaign"; camp.Characters = new List <Lib.Character>(); camp.GMs = new List <Lib.User>(); db.Campaign.Add(camp); db.SaveChanges(); } camp.CampID = 0; camp.Name = "Test Campaign"; camp.Characters = new List <Lib.Character>(); camp.GMs = new List <Lib.User>(); sut.CreateCampaign(camp); user = await db.Gamer.FirstOrDefaultAsync(u => u.UserName == "Test User"); camp = await db.Campaign.FirstOrDefaultAsync(c => c.CampaignName == "Test Campaign"); sut.AddGM(camp.CampID, user.UserID); var result = await db.Gmjunction.FirstOrDefaultAsync(g => g.CampaignId == camp.CampID); bool actual = result.Gmid == user.UserID; Assert.True(actual); } }