public void All_WithData_ReturnsSameData() { var options = new DbContextOptionsBuilder <GameInfoContext>() .UseInMemoryDatabase(databaseName: "Db_WithQuests") .Options; using (var context = new GameInfoContext(options)) { var service = new QuestsService(context, null); var quests = new List <Quest> { new Quest() { Title = "1", QuestText = "1", CompletionCondition = "1" }, new Quest() { Title = "2", QuestText = "2", CompletionCondition = "2" }, new Quest() { Title = "3", QuestText = "3", CompletionCondition = "3" } }; context.Quests.AddRange(quests); context.SaveChanges(); Assert.Equal(3, service.All().Count); } }
public void ByName_WithQuest_ReturnsQuest() { var options = new DbContextOptionsBuilder <GameInfoContext>() .UseInMemoryDatabase(databaseName: "DbFor_ByName_WithQuest") .Options; using (var context = new GameInfoContext(options)) { var service = new QuestsService(context, null); var questTitle = "QuestTitle"; var quest = new Quest() { Title = questTitle, QuestText = "TextForQuest", CompletionCondition = "None" }; context.Quests.Add(quest); context.SaveChanges(); var questFromDb = service.ByName(questTitle); Assert.Equal(quest.Title, questFromDb.Title); Assert.Equal(quest.QuestText, questFromDb.QuestText); Assert.Equal(quest.CompletionCondition, questFromDb.CompletionCondition); } }
public void ById_WithRace_ReturnsRace() { var options = new DbContextOptionsBuilder <GameInfoContext>() .UseInMemoryDatabase(databaseName: "DbFor_ById_WithRace") .Options; using (var context = new GameInfoContext(options)) { var service = new RacesService(context, null); var raceToAdd = new Race() { Name = "Race", Description = "None" }; context.Races.Add(raceToAdd); context.SaveChanges(); var raceFromDb = service.ById(1); Assert.Equal(raceToAdd.Name, raceFromDb.Name); Assert.Equal(raceToAdd.Description, raceFromDb.Description); } }
public void All_WithData_ReturnsSameData() { var options = new DbContextOptionsBuilder <GameInfoContext>() .UseInMemoryDatabase(databaseName: "Db_WithItems") .Options; using (var context = new GameInfoContext(options)) { var service = new ItemsService(context); var items = new List <Item> { new Item() { Name = "1", AcquiredFrom = "1", Usage = "1" }, new Item() { Name = "2", AcquiredFrom = "2", Usage = "2" }, new Item() { Name = "3", AcquiredFrom = "3", Usage = "3" } }; context.Items.AddRange(items); context.SaveChanges(); Assert.Equal(3, service.All().Count); } }
public void AddBossToDungeon_AddsData() { var options = new DbContextOptionsBuilder <GameInfoContext>() .UseInMemoryDatabase(databaseName: "Dungeons_Db_ForAddBoss") .Options; using (var context = new GameInfoContext(options)) { context.Dungeons.Add(new Dungeon() { Name = "DungeonForBoss" }); context.SaveChanges(); } using (var context = new GameInfoContext(options)) { var service = new DungeonsService(context, null); var npc = new NPC() { Name = "NPC" }; var model = new AddBossToDungeonInputModel() { DungeonId = 1 }; var result = service.AddBossToDungeon(model, npc); Assert.True(result); } }
public bool AddBossToDungeon(AddBossToDungeonInputModel model, NPC NPCToAdd) { var dungeon = this.ById(model.DungeonId); if (dungeon == null) { return(false); } var npc = NPCToAdd; dungeon.Bosses.Add(npc); _db.SaveChanges(); return(true); }
public void All_WithData_ReturnsSameData() { var options = new DbContextOptionsBuilder <GameInfoContext>() .UseInMemoryDatabase(databaseName: "Db_WithAchievements") .Options; using (var context = new GameInfoContext(options)) { var service = new AchievementsService(context, null); var achievements = new List <Achievement> { new Achievement() { Name = "1", AcquisitionConditions = "1" }, new Achievement() { Name = "2", AcquisitionConditions = "2" }, new Achievement() { Name = "3", AcquisitionConditions = "3" } }; context.Achievements.AddRange(achievements); context.SaveChanges(); Assert.Equal(3, service.All().Count); } }
public void ByName_WithProfession_ReturnsProfession() { var options = new DbContextOptionsBuilder <GameInfoContext>() .UseInMemoryDatabase(databaseName: "ForByName_WithProfession") .Options; using (var context = new GameInfoContext(options)) { var service = new ProfessionsService(context); var professionName = "Prof Name"; var profession = new Profession() { Name = professionName }; context.Professions.Add(profession); context.SaveChanges(); var professionFromDb = service.ByName(professionName); Assert.Equal(profession.Name, professionFromDb.Name); } }
public void ByName_WithAchievement_ReturnsAchievement() { var options = new DbContextOptionsBuilder <GameInfoContext>() .UseInMemoryDatabase(databaseName: "Db_ForByName_WithAchievement") .Options; using (var context = new GameInfoContext(options)) { var service = new AchievementsService(context, null); var achievementName = "Redacted"; var achievement = new Achievement() { Name = achievementName, AcquisitionConditions = "Achievement" }; context.Achievements.Add(achievement); context.SaveChanges(); var achievementFromDb = service.ByName(achievementName); Assert.Equal(achievement.Name, achievementFromDb.Name); Assert.Equal(achievement.AcquisitionConditions, achievementFromDb.AcquisitionConditions); } }
public void All_WithData_ReturnsSameData() { var options = new DbContextOptionsBuilder <GameInfoContext>() .UseInMemoryDatabase(databaseName: "Db_WithGuides") .Options; using (var context = new GameInfoContext(options)) { var service = new GuidesService(context); var guides = new List <Guide> { new Guide() { Title = "1", Content = "1" }, new Guide() { Title = "2", Content = "2" }, new Guide() { Title = "3", Content = "3" } }; context.Guides.AddRange(guides); context.SaveChanges(); Assert.Equal(3, service.All().Count); } }
public void ById_WithGuide_ReturnsGuide() { var options = new DbContextOptionsBuilder <GameInfoContext>() .UseInMemoryDatabase(databaseName: "Db_ForById_WithGuide") .Options; using (var context = new GameInfoContext(options)) { var service = new GuidesService(context); var guideToAdd = new Guide() { Title = "GuideTitle", Content = "GuideContent" }; context.Guides.Add(guideToAdd); context.SaveChanges(); var guideFromDb = service.ById(1); Assert.Equal(guideToAdd.Title, guideFromDb.Title); Assert.Equal(guideToAdd.Content, guideFromDb.Content); } }
public void All_WithData_ReturnsSameData() { var options = new DbContextOptionsBuilder <GameInfoContext>() .UseInMemoryDatabase(databaseName: "Db_WithProfessions") .Options; using (var context = new GameInfoContext(options)) { var service = new ProfessionsService(context); var professions = new List <Profession> { new Profession() { Name = "1", }, new Profession() { Name = "2", }, new Profession() { Name = "3", } }; context.Professions.AddRange(professions); context.SaveChanges(); Assert.Equal(3, service.All().Count); } }
public async Task RemoveItem_RemovesDataProperly() { var options = new DbContextOptionsBuilder <GameInfoContext>() .UseInMemoryDatabase(databaseName: "Dungeons_Db_ForRemoveItem") .Options; using (var context = new GameInfoContext(options)) { var dungeonName = "DungeonItemRemove"; var item = new Item() { Name = "Item" }; var dungeon = new Dungeon() { Name = dungeonName, Rewards = new List <Item>() { item } }; context.Dungeons.Add(dungeon); context.SaveChanges(); var service = new DungeonsService(context, null); await service.RemoveItem(dungeon, item); var dungeonFromDb = context.Dungeons.Include(x => x.Rewards).FirstOrDefault(x => x.Name == dungeonName); Assert.DoesNotContain(item, dungeonFromDb.Rewards); } }
public void AddItemToDungeon_AddsData() { var options = new DbContextOptionsBuilder <GameInfoContext>() .UseInMemoryDatabase(databaseName: "Dungeons_Db_ForAddItem") .Options; using (var context = new GameInfoContext(options)) { context.Dungeons.Add(new Dungeon() { Name = "DungeonForItem" }); context.SaveChanges(); } using (var context = new GameInfoContext(options)) { var service = new DungeonsService(context, null); var item = new Item() { Name = "Item", AcquiredFrom = "None", Usage = "None" }; var model = new AddItemToDungeonInputModel() { DungeonId = 1 }; var result = service.AddItemToDungeon(model, item); Assert.True(result); } }
public bool AddItemToNPC(AddItemToNPCInputModel model) { var npc = this.ById(model.NPCId); if (npc == null) { return(false); } var itemToAdd = _itemsService.ByName(model.ItemName); npc.Loot.Add(itemToAdd); _db.SaveChanges(); return(true); }
public async Task RemoveQuest_RemovesFromNPC() { var options = new DbContextOptionsBuilder <GameInfoContext>() .UseInMemoryDatabase(databaseName: "Db_ForRemoveQuest_FromNPC") .Options; var npc = new NPC() { Name = "NPC RemoveQuest" }; var quest = new Quest() { Title = "To remove" }; using (var context = new GameInfoContext(options)) { npc.Quests.Add(quest); context.NPCs.Add(npc); context.SaveChanges(); var service = new NPCsService(context, null); await service.RemoveQuest(npc, quest); var NPCFromDb = context.NPCs.First(); Assert.True(NPCFromDb.Quests.Count == 0); } }
public void All_WithData_ReturnsSameData() { var options = new DbContextOptionsBuilder <GameInfoContext>() .UseInMemoryDatabase(databaseName: "Db_WithNPCs") .Options; using (var context = new GameInfoContext(options)) { var service = new NPCsService(context, null); var NPCs = new List <NPC> { new NPC() { Name = "1" }, new NPC() { Name = "2" }, new NPC() { Name = "3" } }; context.NPCs.AddRange(NPCs); context.SaveChanges(); Assert.Equal(3, service.All().Count); } }
public void AddQuest_AddsToNPC() { var options = new DbContextOptionsBuilder <GameInfoContext>() .UseInMemoryDatabase(databaseName: "Db_ForAddQuest_ToNPC") .Options; var npc = new NPC() { Name = "NPC QuestAdd" }; var quest = new Quest() { Title = "QuestTitle", CompletionCondition = "None" }; using (var context = new GameInfoContext(options)) { context.NPCs.Add(npc); context.Quests.Add(quest); context.SaveChanges(); var model = new AddQuestToNPCInputModel() { NPCId = 1 }; var service = new NPCsService(context, null); Assert.True(service.AddQuestToNPC(model, quest)); } }
public async Task RemoveItem_RemovesFromNPC() { var options = new DbContextOptionsBuilder <GameInfoContext>() .UseInMemoryDatabase(databaseName: "Db_ForRemoveItem_FromNPC") .Options; var npc = new NPC() { Name = "NPC RemoveItem" }; var item = new Item() { Name = "Item to remove" }; using (var context = new GameInfoContext(options)) { npc.Loot.Add(item); context.NPCs.Add(npc); context.SaveChanges(); var service = new NPCsService(context, null); await service.RemoveItem(npc, item); var NPCFromDb = context.NPCs.First(); Assert.True(NPCFromDb.Loot.Count == 0); } }
public void ByName_WithNPC_ReturnsNPC() { var options = new DbContextOptionsBuilder <GameInfoContext>() .UseInMemoryDatabase(databaseName: "Db_ForByName_WithNPC") .Options; using (var context = new GameInfoContext(options)) { var service = new NPCsService(context, null); var NPCName = "NPC Name"; var NPC = new NPC() { Name = NPCName }; context.NPCs.Add(NPC); context.SaveChanges(); var NPCFromDb = service.ByName(NPCName); Assert.Equal(NPC.Name, NPCFromDb.Name); } }
public void AddItem_AddsToNPC() { var options = new DbContextOptionsBuilder <GameInfoContext>() .UseInMemoryDatabase(databaseName: "Db_ForAddItem_ToNPC") .Options; var itemName = "Item Name"; var npc = new NPC() { Name = "NPC Name" }; var item = new Item() { Name = itemName, AcquiredFrom = "None", Usage = "None" }; using (var context = new GameInfoContext(options)) { context.NPCs.Add(npc); context.Items.Add(item); context.SaveChanges(); var model = new AddItemToNPCInputModel() { NPCId = 1, ItemName = itemName }; var service = new NPCsService(context, new ItemsService(context)); Assert.True(service.AddItemToNPC(model)); } }
public bool AddItemToAchievement(AddItemToAchievementInputModel model) { var achievement = this.ById(model.AchievementId); if (achievement == null) { return(false); } var itemToAdd = _itemsService.ByName(model.ItemName); achievement.Rewards.Add(itemToAdd); _db.SaveChanges(); return(true); }
public async Task RemoveBoss_RemovesDataProperly() { var options = new DbContextOptionsBuilder <GameInfoContext>() .UseInMemoryDatabase(databaseName: "Dungeons_Db_ForRemoveBoss") .Options; using (var context = new GameInfoContext(options)) { var dungeonName = "DungeonBossRemove"; var npc = new NPC() { Name = "Boss" }; var dungeon = new Dungeon() { Name = dungeonName, Bosses = new List <NPC>() { npc } }; context.Dungeons.Add(dungeon); context.SaveChanges(); var service = new DungeonsService(context, null); await service.RemoveBoss(dungeon, npc); var dungeonFromDb = context.Dungeons.Include(x => x.Bosses).FirstOrDefault(x => x.Name == dungeonName); Assert.DoesNotContain(npc, dungeonFromDb.Bosses); } }
public void ByName_WithItem_ReturnsItem() { var options = new DbContextOptionsBuilder <GameInfoContext>() .UseInMemoryDatabase(databaseName: "Db_ForByName_WithItem") .Options; using (var context = new GameInfoContext(options)) { var service = new ItemsService(context); var itemName = "Item Name"; var item = new Item() { Name = itemName, AcquiredFrom = "Random", Usage = "None" }; context.Items.Add(item); context.SaveChanges(); var itemFromDb = service.ByName(itemName); Assert.Equal(item.Name, itemFromDb.Name); Assert.Equal(item.AcquiredFrom, itemFromDb.AcquiredFrom); Assert.Equal(item.Usage, itemFromDb.Usage); } }
public bool AddProfessionToRace(AddProfessionToRaceInputModel model) { var race = this.ById(model.RaceId); if (race == null) { return(false); } var professionToAdd = _professionsService.ByName(model.ProfessionName); race.Professions.Add(new RaceProfession { Race = race, RaceId = race.Id, Profession = professionToAdd, ProfessionId = professionToAdd.Id }); _db.SaveChanges(); return(true); }
public bool Delete(int id) { var quest = this.ById(id); if (quest != null) { _db.Quests.Remove(quest); _db.SaveChanges(); return(true); } return(false); }
public bool Delete(int id) { var item = this.ById(id); if (item != null) { _db.Items.Remove(item); _db.SaveChanges(); return(true); } return(false); }
public bool Delete(int id) { var guide = this.ById(id); if (guide != null) { _db.Guides.Remove(guide); _db.SaveChanges(); return(true); } return(false); }
public bool Delete(int id) { var profession = this.ById(id); if (profession != null) { _db.Professions.Remove(profession); _db.SaveChanges(); return(true); } return(false); }
public void Setup() { if (!_environment.IsDevelopment()) { throw new System.Exception("Cannot seed a dev database in a non-development environmetn"); } _context.Database.Migrate(); if (_context.User.All(u => u.Id != 1)) { _context.Add(new User { Username = "******", Password = "******" /*Password1*/ }); } _context.SaveChanges(); }