Beispiel #1
0
        public async Task Post_ValidModel_ReturnsCreatedAtRouteResult()
        {
            string roleName        = "admin";
            string roleDescription = "admin role desc";

            RolePostRequest model = new RolePostRequest {
                Name = roleName, Description = roleDescription
            };

            this.roleManagerMock.Setup(r => r.CreateAsync(It.IsAny <ApplicationRole>())).ReturnsAsync(IdentityResult.Success);

            var controller = new RoleController(this.roleManagerMock.Object, this.userManagerMock.Object, this.localizationMock.Object, this.mapperMock.Object);

            controller.BindViewModel(model);

            var response = await controller.Post(model).ConfigureAwait(false);

            Assert.IsAssignableFrom <CreatedAtRouteResult>(response);

            CreatedAtRouteResult result = response as CreatedAtRouteResult;

            Assert.Equal("RoleGet", result.RouteName);
            Assert.True(result.RouteValues.Keys.Contains("roleName"));
            Assert.True(result.RouteValues.Values.Contains("admin"));
            Assert.Equal(result.Value, model);
        }
Beispiel #2
0
        public async Task Post_CreateRoleFailed_ReturnsOneFrameWebException()
        {
            string roleName        = "admin";
            string roleDescription = "admin role desc";

            RolePostRequest model = new RolePostRequest {
                Name = roleName, Description = roleDescription
            };

            this.roleManagerMock.Setup(r => r.CreateAsync(It.IsAny <ApplicationRole>())).ReturnsAsync(IdentityResult.Failed());

            var controller = new RoleController(this.roleManagerMock.Object, this.userManagerMock.Object, this.localizationMock.Object, this.mapperMock.Object);

            var ex = await Record.ExceptionAsync(() => controller.Post(model)).ConfigureAwait(false);

            Assert.IsAssignableFrom <OneFrameWebException>(ex);
            Assert.Equal(expected: (ex as OneFrameWebException).HttpStatusCode.ToString(), actual: Convert.ToInt32(HttpStatusCode.BadRequest).ToString());
        }
        public async Task <Result <RolePostResponse> > CreateRole(RolePostRequest request)
        {
            var validate = await request.ValidateAsync();

            if (!validate.IsValid)
            {
                var error = validate.Errors.FirstOrDefault();
                return(Error <RolePostResponse>(error.ToMetaError()));
            }

            var role = new Role
            {
                Name        = request.Name,
                Permissions = request.Permissions.ToPermissionList()
            };

            try { role = await _repository.Create(role); }
            catch { return(Error <RolePostResponse>(Errors.RoleCreatingOnDatabaseError)); }

            return(Success(role.ToRolePostResponse()));
        }
Beispiel #4
0
        /// <summary>
        /// 添加角色信息
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public RolePostResponse PostRole(RolePostRequest request)
        {
            RolePostResponse response = new RolePostResponse();

            if (string.IsNullOrEmpty(request.RoleAll.RoleName))
            {
                response.Status  = false;
                response.Message = "角色名称为空";
                return(response);
            }

            var str = PostRoleDal.Instance.PostRole(request.RoleAll);

            if (str < 0)
            {
                response.Status  = false;
                response.Message = "出错了";
            }
            else
            {
                response.Message = "恭喜成功";
            }
            return(response);
        }
 public RolePostResponse PostRole(RolePostRequest request)
 {
     return(PostRoleBll.Instance.PostRole(request));
 }
        public async Task <IActionResult> Post(RolePostRequest request)
        {
            var result = await _service.CreateRole(request);

            return(HttpHelper.Convert(result));
        }
Beispiel #7
0
        public static async Task <ValidationResult> ValidateAsync(this RolePostRequest request)
        {
            var validator = new RolePostRequestValidator();

            return(await validator.ValidateAsync(request));
        }
Beispiel #8
0
 /// <summary>
 /// 获取添加角色信息方法
 /// </summary>
 /// <param name="request"></param>
 /// <returns></returns>
 public JsonResult PostRole(RolePostRequest request)
 {
     return(Json(RoleBll.Instance.AddRole(request)));
 }
Beispiel #9
0
 /// <summary>
 /// 添加角色信息
 /// </summary>
 /// <param name="request"></param>
 /// <returns></returns>
 public RolePostResponse AddRole(RolePostRequest request)
 {
     return(ApiRequestHelper.Post <RolePostRequest, RolePostResponse>(request));
 }