Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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());
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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));
        }