public async Task <IActionResult> Post([FromBody] Team team) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (string.IsNullOrEmpty(team.Name)) { return(BadRequest()); } Team stored = await teamsRepository.AddAsync(team); return(Ok(new { id = stored.Id })); } catch (Exception ex) { return(BadRequest(new JsonResult(ex.Message))); } }
public async Task AddAsync_ValidTeam_TeamIsAdded() { // Arrange using var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); var options = new DbContextOptionsBuilder() .UseSqlite(connection) .Options; var teamToAdd = new Team { Name = "Test team", FoundedYear = 2020 }; Guid teamAddedId; using (var context = new AppDbContext(options)) { await context.Database.EnsureCreatedAsync(); var repository = new TeamsRepository(context); // Act teamAddedId = await repository.AddAsync(teamToAdd); } using (var context = new AppDbContext(options)) { // Assert var result = await context.Teams .AnyAsync(team => team.Id == teamAddedId); Assert.True(result); } }