public async Task GivenSize_To_Create_Board_Must_Create_New_Board() { using (var server = new ServerFixture(databasePort: _databaseFixture.Port)) { var createBoardRequest = new CreateBoardRequest { RowSize = 10, ColumnSize = 10 }; var response = await server.Client.PostAsJsonAsync("boards", createBoardRequest); response.StatusCode.Should().Be(HttpStatusCode.Created); var boardTask = response.Content.ReadAsAsync <Board>(); var currentBoardsTask = server.Assert().GetBoards(); await Task.WhenAll(boardTask, currentBoardsTask); var board = await boardTask; var currentBoards = await currentBoardsTask; var currentBoard = currentBoards.First(); board.Should().BeEquivalentTo(currentBoard); } }
public async Task <IActionResult> CreateBoard(CreateBoardRequest createBoardRequest) { var board = await _boardService.CreateBoard(createBoardRequest); var boardUri = new Uri($"/boards/{board.Id}", UriKind.Relative); return(Created(boardUri, board)); }
public async Task BoardTooSmall() { var request = new CreateBoardRequest() { Width = 5, Height = 6 }; var response = await _client.PostAsync($"/api/boards", Helpers.GetHttpRequestContent(request)); response.StatusCode.Should().Be(HttpStatusCode.BadRequest); }
public ActionResult <BoardViewModel> Create([FromBody] CreateBoardRequest model) { try { var board = _battleshipProvider.CreateBoard(model.ToBoard()); return(Ok(new BoardViewModel(board))); } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, new { error = ex.Message })); } }
public Task <IActionResult> Create([FromBody] CreateBoardRequest createBoardRequest) { var userId = new Guid(User.FindFirstValue("id")); var board = new Board { UserId = userId, Title = createBoardRequest.Title, Scope = "public", Status = "publish" }; return(_serviceInvoker.AsyncOkCreated(() => _boardService.Create(board))); }
public async Task <Board> CreateBoard(CreateBoardRequest createBoardRequest) { var boardId = Guid.NewGuid(); const string sql = @"INSERT INTO Board(Id, RowSize, ColumnSize) VALUES(@id, @rowSize, @columnSize)"; await _database.ExecuteAsync(sql, new { Id = boardId, createBoardRequest.RowSize, createBoardRequest.ColumnSize }); return(new Board { Id = boardId, RowSize = createBoardRequest.RowSize, ColumnSize = createBoardRequest.ColumnSize }); }
public async Task Setup() { var clientFactory = new CustomWebApplicationFactory(); _client = clientFactory.CreateDefaultClient(); var request = new CreateBoardRequest() { Width = 10, Height = 15 }; var response = await _client.PostAsync($"/api/boards", Helpers.GetHttpRequestContent(request)); response.EnsureSuccessStatusCode(); await Helpers.GetHttpResponseContent <BoardViewModel>(response); }
public async Task ShouldCreateABoard() { var request = new CreateBoardRequest() { Width = 10, Height = 15 }; var response = await _client.PostAsync($"/api/boards", Helpers.GetHttpRequestContent(request)); response.EnsureSuccessStatusCode(); var board = await Helpers.GetHttpResponseContent <BoardViewModel>(response); board.Should().NotBeNull(); board.Id.Should().Be(1); board.Width.Should().Be(10); board.Height.Should().Be(15); }