public async Task Update_HappyFlow() { // Arrange var notebook = await WolkDbContext.CreateAndSaveNotebook(); var url = $"/api/notebook/{notebook.Id}"; var model = new MutateNotebookModel { Name = Guid.NewGuid().ToString() }; var request = new HttpRequestMessage(HttpMethod.Put, url) { Content = new StringContent(JsonConvert.SerializeObject(model), Encoding.UTF8, MimeTypes.Json) }; var token = await GetJwt(); request.AddJwtBearer(token); // Act using var response = await HttpClient.SendAsync(request); // Assert Assert.AreEqual(HttpStatusCode.NoContent, response.StatusCode); Assert.AreEqual(model.Name, notebook.Name); }
public async Task Create_HappyFlow() { // Arrange var url = "/api/notebook"; var model = new MutateNotebookModel { Name = Guid.NewGuid().ToString() }; var request = new HttpRequestMessage(HttpMethod.Post, url) { Content = new StringContent(JsonConvert.SerializeObject(model), Encoding.UTF8, MimeTypes.Json) }; var token = await GetJwt(); request.AddJwtBearer(token); // Act using var response = await HttpClient.SendAsync(request); // Assert Assert.AreEqual(HttpStatusCode.Created, response.StatusCode); var content = await response.Content.ReadAsStringAsync(); var returnedNotebook = JsonConvert.DeserializeObject <NotebookDto>(content); var notebook = await WolkDbContext.Notebooks.SingleAsync(); ShouldBeEqual(notebook, returnedNotebook); }
public async Task <ActionResult> Update([FromBody] MutateNotebookModel notebookModel, [FromRoute] long id) { var command = Mapper.Map <UpdateNotebookCommand>(notebookModel); command.Id = id; await Mediator.Send(command); return(NoContent()); }
public async Task Update_ValidationError_ShouldReturn400() { // Arrange var url = "/api/notebook/1"; var model = new MutateNotebookModel { Name = new string('a', 201) }; var request = new HttpRequestMessage(HttpMethod.Put, url) { Content = new StringContent(JsonConvert.SerializeObject(model), Encoding.UTF8, MimeTypes.Json) }; var token = await GetJwt(); request.AddJwtBearer(token); // Act using var response = await HttpClient.SendAsync(request); // Assert Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode); }
public async Task <ActionResult <NotebookDto> > Create([FromBody] MutateNotebookModel notebookModel) { var notebook = await Mediator.Send(Mapper.Map <CreateNotebookCommand>(notebookModel)); return(CreatedAtAction(nameof(Get), new { id = notebook.Id }, notebook)); }