public void CanDeleteGuildAndSaveToDatabase() { DbContextOptions <GuildAPIDbContext> options = new DbContextOptionsBuilder <GuildAPIDbContext>() .UseInMemoryDatabase("CanDeleteGuildAndSaveToDatabase") .Options; using GuildAPIDbContext context = new GuildAPIDbContext(options); GamesService gameService = new GamesService(context); GamesDTO gamesDTO = new GamesDTO() { Name = "Odins Game" }; var createdGame = gameService.Create(gamesDTO); GuildService guildService = new GuildService(context, gameService); Assert.Equal(1, context.Games.CountAsync().Result); GuildsDTO guild = new GuildsDTO() { Name = "Odin Slayers" }; var creation = guildService.Create(guild); var association = gameService.AddGameGuild(createdGame.Result.Id, creation.Result.Id); Assert.Equal(1, context.Guilds.CountAsync().Result); var delete = guildService.Delete(creation.Result.Id); Assert.Equal(0, context.Guilds.CountAsync().Result); }
public void CanGetGuildFromDatabase() { DbContextOptions <GuildAPIDbContext> options = new DbContextOptionsBuilder <GuildAPIDbContext>() .UseInMemoryDatabase("CanGetGuildFromDatabase") .Options; using GuildAPIDbContext context = new GuildAPIDbContext(options); GamesService gameService = new GamesService(context); GamesDTO gamesDTO = new GamesDTO() { Name = "Odins Game" }; var createdGame = gameService.Create(gamesDTO); GuildService guildService = new GuildService(context, gameService); Assert.Equal(1, context.Games.CountAsync().Result); GuildsDTO guild = new GuildsDTO() { Name = "Odin Slayers" }; var creation = guildService.Create(guild); var association = gameService.AddGameGuild(createdGame.Result.Id, creation.Result.Id); var actual = guildService.GetGuild(creation.Result.Id).Result; Assert.Equal(1, context.Guilds.CountAsync().Result); Assert.IsType <GuildsDTO>(actual); Assert.Equal(1, actual.Id); Assert.Equal("Odin Slayers", actual.Name); }
/// <summary> /// Gets a specific guild from the Guilds database table /// </summary> /// <param name="id">Unique ID of the targeted guild</param> /// <returns>Targeted guild object</returns> public async Task <GuildsDTO> GetGuild(int id) { Guilds guild = await _context.Guilds.FindAsync(id); List <GameGuilds> gameGuilds = await _context.GameGuilds.Where(x => x.GuildId == id).ToListAsync(); List <GamesDTO> games = new List <GamesDTO>(); foreach (var item in gameGuilds) { games.Add(await _games.GetGame(item.GameId)); } GuildsDTO dto = new GuildsDTO() { Name = guild.Name, Games = games, Id = guild.Id }; foreach (var item in games) { item.Guilds = null; } return(dto); }
public void GetterForGuild() { GuildsDTO guildsDTO = new GuildsDTO(); guildsDTO.Name = "Bryant"; guildsDTO.Id = 1; Assert.Equal("Bryant", guildsDTO.Name); Assert.Equal(1, guildsDTO.Id); }
public async Task <IActionResult> PutGuilds(int id, GuildsDTO guilds) { if (id != guilds.Id) { return(BadRequest()); } await _guilds.Update(guilds); return(NoContent()); }
/// <summary> /// Updates a specific guild from the Guilds database table /// </summary> /// <param name="guild">The guild object with ID that will be updated to current ID'd object</param> /// <returns>Updated object</returns> public async Task <GuildsDTO> Update(GuildsDTO guildDTO) { var guild = await _context.Guilds.FindAsync(guildDTO.Id); guild.Name = guildDTO.Name; _context.Entry(guild).State = EntityState.Modified; await _context.SaveChangesAsync(); return(guildDTO); }
/// <summary> /// Creates a new guild and adds it to the Guilds database table /// </summary> /// <param name="guild">Guild object to be added</param> /// <returns>Created Guild</returns> public async Task <GuildsDTO> Create(GuildsDTO dto) { Guilds guild = new Guilds() { Name = dto.Name }; _context.Entry(guild).State = EntityState.Added; await _context.SaveChangesAsync(); dto.Id = guild.Id; return(dto); }
public async Task <ActionResult <GuildsDTO> > PostGuilds(GuildsDTO guilds, int gameId) { var email = HttpContext.User.Claims.First(e => e.Type == "Email").Value; var user = await _userManager.FindByEmailAsync(email); var roles = await _userManager.GetRolesAsync(user); if (await _guilds.VerifyManager(user.Id, gameId) || roles.Contains("Administrator")) { await _guilds.Create(guilds); await _games.AddGameGuild(gameId, guilds.Id); return(CreatedAtAction("GetGuilds", new { id = guilds.Id }, guilds)); } return(BadRequest("Manager does not have access")); }