public async void CampaignDetailsWorks(int id, string name) { var options = new DbContextOptionsBuilder <Data.D20CharacterDatabaseContext>() .UseInMemoryDatabase("campaign_details_test").Options; using (var db = new Data.D20CharacterDatabaseContext(options)) { Lib.IRepo sut = new Data.D20Repo(db); 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 = id; camp.Name = name; camp.Characters = new List <Lib.Character>(); camp.GMs = new List <Lib.User>(); sut.CreateCampaign(camp); Data.Campaign testCamp = await db.Campaign.FirstOrDefaultAsync(c => c.CampaignName == name); bool actual = (testCamp != null && testCamp.CampaignName == name); Assert.True(actual); camp = sut.CampDetails(testCamp.CampaignId); actual = camp.Name == name; Assert.True(actual); } }
public async Task <int> CreateCampaign(ClassLibrary.Campaign campaign) { campaign.CampID = 0; _db.Campaign.Add(campaign); _db.SaveChanges(); int newId = (await _db.Campaign.FirstAsync(c => c.CampaignName == campaign.Name)).CampaignId; return(newId); }
public async void UpdateCamp(ClassLibrary.Campaign campaign) { DataAccess.Campaign camp = campaign; var trackedCampaign = await _db.Campaign.FindAsync(campaign.CampID); trackedCampaign.CampaignName = camp.CampaignName; trackedCampaign.Characters = camp.Characters; trackedCampaign.Gmjunction = camp.Gmjunction; _db.Campaign.Update(trackedCampaign); _db.SaveChanges(); }
public async void JoinCampWorks() { var options = new DbContextOptionsBuilder <Data.D20CharacterDatabaseContext>() .UseInMemoryDatabase("join_campaign_test").Options; using (var db = new Data.D20CharacterDatabaseContext(options)) { Lib.IRepo sut = new Data.D20Repo(db); 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); Data.Campaign testCamp = await db.Campaign.FirstOrDefaultAsync(c => c.CampaignName == camp.Name); Lib.Character testChar = new Lib.Character(); if (await db.Characters.FirstOrDefaultAsync(c => c.CharacterId == 1) == null) { testChar.CharID = 0; testChar.Name = "No Character"; testChar.CampID = 1; testChar.UserID = 1; db.Characters.Add(testChar); db.SaveChanges(); } testChar.CharID = 0; testChar.Name = "Test Character"; testChar.CampID = 0; testChar.UserID = 1; sut.CreateCharacter(testChar); Data.Characters test = await db.Characters.FirstOrDefaultAsync(c => c.CharacterName == testChar.Name); bool actual = (testCamp != null && testCamp.CampaignName == camp.Name && test != null && test.CampaignId != testCamp.CampaignId); Assert.True(actual); sut.JoinCamp(testCamp.CampaignId, test.CharacterId); test = await db.Characters.FirstOrDefaultAsync(c => c.CharacterName == testChar.Name); actual = (test.CampaignId == testCamp.CampaignId); 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); } }
public async Task <IEnumerable <ClassLibrary.Campaign> > CampList(string GMUsername) { List <ClassLibrary.Campaign> ret = new List <ClassLibrary.Campaign>(); var temp = await _db.Campaign.Include(c => c.Characters).Include(c => c.Gmjunction).Where(c => c.Gmjunction.Any(gmj => gmj.Gm.UserName == GMUsername)).ToListAsync(); if (temp.Count == 0) { return(null); } foreach (var item in temp) { ClassLibrary.Campaign camp = item; ret.Add(camp); } return(ret); }
public async void CampaignListWorks() { var options = new DbContextOptionsBuilder <Data.D20CharacterDatabaseContext>() .UseInMemoryDatabase("campaign_list_test").Options; using (var db = new Data.D20CharacterDatabaseContext(options)) { Lib.IRepo sut = new Data.D20Repo(db); 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); Lib.Campaign camp2 = new Lib.Campaign(); camp2.CampID = 0; camp2.Name = "Test Campaign2"; camp2.Characters = new List <Lib.Character>(); camp2.GMs = new List <Lib.User>(); sut.CreateCampaign(camp2); Data.Campaign testCamp = await db.Campaign.FirstOrDefaultAsync(c => c.CampaignName == camp.Name); Data.Campaign testCamp2 = await db.Campaign.FirstOrDefaultAsync(c => c.CampaignName == camp2.Name); bool actual = (testCamp != null && testCamp.CampaignName == camp.Name && testCamp2 != null && testCamp2.CampaignName == camp2.Name); Assert.True(actual); IList <Lib.Campaign> campList = (List <Lib.Campaign>)sut.CampList(); actual = (campList.Count == 3 && campList[1].Name == camp.Name && campList[2].Name == camp2.Name); Assert.True(actual); } }
public async Task <ClassLibrary.Campaign> CampDetails(int CampID) { ClassLibrary.Campaign ret = await _db.Campaign.FindAsync(CampID); return(ret); }