예제 #1
0
        public void DeleteTest()
        {
            //Arrange
            var options = new DbContextOptionsBuilder <TodoContext>()
                          .UseInMemoryDatabase(databaseName: "TODOs")
                          .Options;

            var todoModel = new TodoModel
            {
                Details = "Test todo",
                DueDate = new System.DateTime()
            };

            var context     = new TodoContext(options);
            var todoService = new TodoService(context);
            var createdTodo = todoService.CreateTodo(todoModel).Result;

            //Act
            todoService.DeleteTodo(createdTodo.Id).Wait();

            //Assert
            var result = todoService.FindOne(createdTodo.Id).Result;

            Assert.IsNull(result);
        }
        public void CreateTodo_ShouldBeBadRequest()
        {
            // Arrange
            var options = GetTestDbOptions();

            using (var context = new ApplicationContext(options))
            {
                var todoService = new TodoService(context, GetMockMapper());

                var todoDTO = new TodoDTO()
                {
                    Name        = "test1",
                    Description = "use mock",
                    AssigneeId  = 1,
                    Done        = false,
                    UserId      = 1
                };
                var expected = new BadRequestResult();

                // Act
                Task <IActionResult> actual = todoService.CreateTodo(todoDTO);

                // Assert
                Assert.IsNotNull(actual);
                Assert.AreEqual(expected.GetType(), actual.Result.GetType());
            }
        }
예제 #3
0
        public void UpdateTest()
        {
            //Arrange
            var options = new DbContextOptionsBuilder <TodoContext>()
                          .UseInMemoryDatabase(databaseName: "TODOs")
                          .Options;

            var todoModel = new TodoModel
            {
                Details = "Test todo",
                DueDate = new System.DateTime()
            };

            var context       = new TodoContext(options);
            var todoService   = new TodoService(context);
            var todoForUpdate = todoService.CreateTodo(todoModel).Result;

            todoForUpdate.Details = "Update Test todo";

            //Act
            var updatedTodo = todoService.UpdateTodo(todoForUpdate).Result;

            //Assert
            Assert.AreEqual(updatedTodo.Id, todoForUpdate.Id);
            Assert.AreEqual(updatedTodo.Details, todoForUpdate.Details);
        }
예제 #4
0
        public void FindTest()
        {
            //Arrange
            var options = new DbContextOptionsBuilder <TodoContext>()
                          .UseInMemoryDatabase(databaseName: "TODOsFind")
                          .Options;

            var todoModel = new TodoModel
            {
                Details = "Test todo",
                DueDate = new System.DateTime()
            };

            using (var context = new TodoContext(options))
            {
                var todoService = new TodoService(context);
                todoService.CreateTodo(todoModel).Wait();

                //Act
                var result = todoService.Find().Result;

                //Assert
                Assert.AreEqual(result.Count(), 1);
                Assert.AreEqual(result.FirstOrDefault().Details, todoModel.Details);
            }
        }
예제 #5
0
        public async Task <IActionResult> CreateTodo([FromBody] Todo todo)
        {
            await _todosService.CreateTodo(todo);

            var response = new ObjectResult(todo);

            response.StatusCode = (int)HttpStatusCode.Created;
            return(response);
        }
예제 #6
0
        public async Task <Todo> Handle(CreateTodoCommand request, CancellationToken cancellationToken)
        {
            var todo = new Todo {
                Title = request.Title, Description = request.Description
            };
            await _todoService.CreateTodo(todo);

            Debug.WriteLine("Todo added successfully");
            return(todo);
        }
        public void CreateTodo_ShouldBeOkResult()
        {
            // Arrange
            var options = GetTestDbOptions();

            using (var context = new ApplicationContext(options))
            {
                User user = new User()
                {
                    Id        = 1,
                    FirstName = "Test",
                    LastName  = "Moq",
                    Username  = "******",
                    Role      = "User"
                };

                Assignee assignee = new Assignee()
                {
                    Email = "*****@*****.**",
                    Name  = "Test Assignee",
                };
                context.Add <User>(user);
                context.Add <Assignee>(assignee);

                var todoService = new TodoService(context, GetMockMapper());

                var todoDTO = new TodoDTO()
                {
                    Name        = "test1",
                    Description = "use mock",
                    UserId      = 1,
                    AssigneeId  = 1,
                    Done        = false
                };
                var expected = new OkResult();

                // Act
                Task <IActionResult> actual = todoService.CreateTodo(todoDTO);

                // Assert
                Assert.IsNotNull(actual);
                Assert.AreEqual(expected.GetType(), actual.Result.GetType());
            }
        }
예제 #8
0
        public void SaveTodo()
        {
            if (EditTodoModel.Caption == null || EditTodoModel.Caption.IsNullOrWhiteSpace() ||
                EditTodoModel.Content == null || EditTodoModel.Content.IsNullOrWhiteSpace() ||
                EditTodoModel.EstimatedHours <= 0)
            {
                MessageBox.Show(
                    $"Проверьте правильность введенных данных.",
                    "Ошибка сохранения", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK);

                return;
            }

            if (EditTodoModel.Owner == null)
            {
                MessageBox.Show(
                    $"Необходимо назначить исполнителя для текущей задачи.",
                    "Ошибка сохранения", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK);
                return;
            }

            if (_isEditExistRecord)
            {
                TodoService.UpdateTodo(Mapper.Map <TodoModel, TodoDTO>(EditTodoModel), EditTodoModel.Owner);
                _isEditExistRecord = false;
            }
            else
            {
                TodoService.CreateTodo(CurrentProject.ProjectInfoId, Mapper.Map <TodoModel, TodoDTO>(EditTodoModel),
                                       EditTodoModel.Owner);
            }

            NotifyOfPropertyChange(() => CountAllTodo);

            UpdateData();

            IsEditNow     = false;
            EditTodoModel = SelectedItem;
        }
예제 #9
0
        public async Task <IActionResult> Create([FromBody] TodoDto data)
        {
            var response = new ApiResponse();

            try
            {
                var todo = await _service.CreateTodo(data);

                if (todo == null)
                {
                    throw new Exception("Não foi possível adicionar esse item.");
                }
                ;

                response.Data = todo;
                return(CreatedAtRoute("Todos", response));
            }
            catch (Exception e)
            {
                response.Message = e.Message;
                return(BadRequest(response));
            }
        }
예제 #10
0
    public async Task CreateTodo_Is_Ok()
    {
        // Arrange
        var mockTodoRepository = new Mock <ITodoRepository>();
        var mockTodoMapper     = new Mock <ITodoDtoEntityMapper>();

        _ = mockTodoMapper.Setup(s => s.Map(It.IsAny <TodoDto>()))
            .Returns(new TodoEntity());
        _ = mockTodoRepository.Setup(s => s.AddAsync(It.IsAny <TodoEntity>()))
            .ReturnsAsync(new TodoEntity());
        _ = mockTodoMapper.Setup(s => s.Map(It.IsAny <TodoEntity>()))
            .Returns(new TodoDto());

        var service = new TodoService(mockTodoRepository.Object, mockTodoMapper.Object);

        // Act
        var result = await service.CreateTodo(It.IsAny <TodoDto>());

        // Assert
        _ = result.Should().BeOfType <TodoDto>();
        mockTodoRepository.Verify(c => c.AddAsync(It.IsAny <TodoEntity>()), Times.Once);
        mockTodoMapper.Verify(c => c.Map(It.IsAny <TodoDto>()), Times.Once);
        mockTodoMapper.Verify(c => c.Map(It.IsAny <TodoEntity>()), Times.Once);
    }
 public ActionResult <Todo> CreateTodo(Todo todo)
 {
     _todoService.CreateTodo(todo);
     return(CreatedAtRoute("GetTodo", new { id = todo.Id.ToString() }, todo));
 }
        public async Task <CreatedNegotiatedContentResult <Todo> > CreateTodo([FromBody] Todo todo)
        {
            await _todosService.CreateTodo(todo);

            return(Created("/api/todos/" + todo.Id, todo));
        }
예제 #13
0
        [HttpPost] // attribute for POST/CREATE
        public ActionResult Create(TodoCreateVm cVm)
        {
            int myResults = _service.CreateTodo(cVm.Task);

            return(RedirectToAction("Index"));
        }
예제 #14
0
        public async Task <IActionResult> CreateTodo([FromBody] Todo todo)
        {
            await _todosService.CreateTodo(todo);

            return(StatusCodeAndDtoWrapper.BuildSuccess(TodoDetailsDto.Build(todo), "Todo Created Successfully"));
        }
예제 #15
0
 public IHttpActionResult Post([FromBody] ContentDto item)
 {
     _todoService.CreateTodo(item.Value);
     return(Ok());
 }