public async Task AddUserTest()
        {
            var result  = new Tuple <bool, string>(true, "Usr/1");
            var userAdd = new UserAddMsg {
                EmployeeId = "EP001",
                FirstName  = "F1",
                LastName   = "L2"
            };
            var pmUser = new PMUser
            {
                EmployeeId = userAdd.EmployeeId,
                FirstName  = userAdd.FirstName,
                LastName   = userAdd.LastName
            };
            var mockUserRepo        = new Mock <IUserRepo>();
            var mockProjectTaskRepo = new Mock <IProjectTaskRepo>();
            var logger = createUserLogger();

            mockUserRepo.Setup(usrRepo => usrRepo.AddUser(It.IsAny <PMUser>()))
            .Returns(Task.FromResult(result));
            var mockMapper = new Mock <IMapper>();

            mockMapper.Setup(map => map.Map <PMUser>(It.IsAny <UserAddMsg>())).Returns(pmUser);
            var userService = new UserService(mockUserRepo.Object, mockProjectTaskRepo.Object, logger,
                                              mockMapper.Object);
            var addResult = await userService.Add(userAdd);

            Assert.True(addResult.Item1);
            Assert.Equal("Usr/1", addResult.Item2);
        }
Exemple #2
0
        public async Task <ActionResult <bool> > Post([FromBody] UserAddMsg userAdd)
        {
            if (userAdd == null)
            {
                ModelState.AddModelError("ParameterEmpty", "Input parameter are all empty");
                return(BadRequest(ModelState));
            }
            var validationContext = new System.ComponentModel.DataAnnotations.ValidationContext(userAdd);
            var validationResults = new List <ValidationResult>();

            if (!Validator.TryValidateObject(userAdd, validationContext, validationResults))
            {
                ModelState.AddModelError("Validation Request", "Validation error");
                return(BadRequest(ModelState));
            }
            var usr = await userService.GetUserByEmployeeId(userAdd.EmployeeId);

            if (usr != default)
            {
                ModelState.AddModelError("EMployeeIdExist", "User already exist");
                return(BadRequest(ModelState));
            }

            var result = await userService.Add(userAdd);

            if (result.Item1)
            {
                return(Created($"api/Task/{result.Item2}", result.Item1));
            }
            return(StatusCode(500, "Unable to create user"));
        }
Exemple #3
0
        public async Task <Tuple <bool, string> > Add(UserAddMsg userAdd)
        {
            var validationContext = new System.ComponentModel.DataAnnotations.ValidationContext(userAdd);
            var validationResults = new List <ValidationResult>();

            if (Validator.TryValidateObject(userAdd, validationContext, validationResults))
            {
                var pmUser = mapper.Map <PMUser>(userAdd);
                return(await userRepo.AddUser(pmUser));
            }
            return(new Tuple <bool, string>(false, ""));
        }
Exemple #4
0
        public void GetterSetterTest()
        {
            var userAddMsgTest = new UserAddMsg
            {
                EmployeeId = "E001",
                FirstName  = "F1",
                LastName   = "L1"
            };

            Assert.Equal("E001", userAddMsgTest.EmployeeId);
            Assert.Equal("F1", userAddMsgTest.FirstName);
            Assert.Equal("L1", userAddMsgTest.LastName);
        }
        public async Task AddUserBadRequestValidationError()
        {
            var usrAddMsg = new UserAddMsg
            {
                EmployeeId = "",
                FirstName  = "F1",
                LastName   = "L2"
            };
            var mockUserService = new Mock <IUserService>();
            var userLogger      = createUserLogger();
            var usrController   = new UserController(mockUserService.Object, userLogger);
            var actionResult    = (await usrController.Post(usrAddMsg)).Result as BadRequestObjectResult;

            Assert.NotNull(actionResult);
            Assert.Equal(400, actionResult.StatusCode);
        }
        public async Task AddUser()
        {
            var mockUserService = new Mock <IUserService>();
            var usrAddMsg       = new UserAddMsg
            {
                EmployeeId = "EP001",
                FirstName  = "F1",
                LastName   = "L2"
            };

            mockUserService.Setup(usr => usr.Add(It.IsAny <UserAddMsg>())).Returns(Task.FromResult(
                                                                                       new Tuple <bool, string>(true, "Usr/1")));
            var userLogger    = createUserLogger();
            var usrController = new UserController(mockUserService.Object, userLogger);
            var actionResult  = (await usrController.Post(usrAddMsg)).Result as CreatedResult;

            Assert.NotNull(actionResult);
            Assert.Equal(201, actionResult.StatusCode);
        }
Exemple #7
0
        public async Task <ActionResult> AddUser(string userName, string userAddr)
        {
            // 利用请求消息解耦
            UserAddMsg userAddMsg = new UserAddMsg {
                UserName = userName,
                UserAddr = userAddr
            };
            int nResponse = await _mediator.Send(userAddMsg);

            //新增用户成功时发送消息提醒,比如有微信、短信、邮件
            if (nResponse == 1)
            {
                // 利用通知消息解耦
                await _mediator.Publish(new UserAddSuccessMsg {
                    UserName = userName,
                    UserPwd  = "123456"
                });
            }
            return(Ok($"新增成功!{nResponse}"));
        }