Exemplo n.º 1
0
        public async Task Validar_PostUsuario()
        {
            Usuario nuevo = new Usuario
            {
                Id          = 3,
                Correo      = "*****@*****.**",
                Contrasenya = "contraseña123",
                RolId       = 1
            };
            UsuarioCreateDTO nuevoCreate = new UsuarioCreateDTO
            {
                Correo      = "*****@*****.**",
                Contrasenya = "contraseña123",
                RolId       = 1
            };
            var mockMapper = new MapperConfiguration(cfg =>
            {
                cfg.AddProfile(new MappingProfile());
            });
            var mapper     = mockMapper.CreateMapper();
            var repository = new Mock <IUsuarioRepository>();

            repository.Setup(x => x.Save(It.IsAny <Usuario>())).ReturnsAsync(nuevo).Verifiable();
            var controller = new UsuariosController(repository.Object, mapper);

            //act
            var actionResult = await controller.Post(nuevoCreate);

            var result = actionResult.Result as CreatedAtRouteResult;
            var dto    = result.Value as UsuarioDTO;

            Assert.Equal(3, dto.Id);
        }
Exemplo n.º 2
0
        public async Task <ActionResult <UsuarioDTO> > Post([FromBody] UsuarioCreateDTO usuarioCreate)
        {
            var usuario    = mapper.Map <Usuario>(usuarioCreate);
            var usuarioDTO = mapper.Map <UsuarioDTO>(await repository.Save(usuario));

            return(new CreatedAtRouteResult("ObtenerUsuariov2", new { id = usuario.Id }, usuarioDTO));
        }
Exemplo n.º 3
0
        public async Task Validar_LoginUsuario()
        {
            //ARRANGE
            Usuario usuarioRegistrado = new Usuario
            {
                Id          = 3,
                Correo      = "*****@*****.**",
                Contrasenya = "registrado123",
                RolId       = 2
            };
            UsuarioCreateDTO registradoDTO = new UsuarioCreateDTO
            {
                Correo      = "*****@*****.**",
                Contrasenya = "registrado123",
                RolId       = 2
            };
            var mockMapper = new MapperConfiguration(cfg =>
            {
                cfg.AddProfile(new MappingProfile());
            });
            var mapper     = mockMapper.CreateMapper();
            var repository = new Mock <IUsuarioRepository>();

            repository.Setup(x => x.Login(It.IsAny <Usuario>())).ReturnsAsync(usuarioRegistrado).Verifiable();
            var controller = new UsuariosController(repository.Object, mapper);

            //ACT
            var actionResult = await controller.Login(registradoDTO);

            var result = actionResult.Result as CreatedAtRouteResult;
            var dto    = result.Value as UsuarioDTO;

            //ASSERT
            Assert.Equal(registradoDTO.Correo, dto.Correo);
        }
Exemplo n.º 4
0
        public async Task <ActionResult <Usuario> > CreateUsuario(UsuarioCreateDTO usuarioCreateDTO)
        {
            var usuario = _mapper.Map <Usuario>(usuarioCreateDTO);
            await _userRepo.CreateEntity(usuario);

            await _userRepo.SaveChanges();

            usuario = await _userRepo.GetById(usuario.Id);

            return(CreatedAtRoute(nameof(GetUserById), new { Id = usuario.Id }, usuario));
            // return Ok(usuarioReadDto);
        }
Exemplo n.º 5
0
        public async Task <ActionResult <UsuarioDTO> > Put(int id, [FromBody] UsuarioCreateDTO usuarioCreate)
        {
            var usuario     = mapper.Map <Usuario>(usuarioCreate);
            var usuarioRepo = await repository.Update(id, usuario);

            if (usuarioRepo == null)
            {
                return(NotFound());
            }
            var usuarioDTO = mapper.Map <UsuarioDTO>(usuarioRepo);

            return(new CreatedAtRouteResult("ObtenerUsuariov2", new { id = usuario.Id }, usuarioDTO));
        }
Exemplo n.º 6
0
        public async Task <ActionResult <UsuarioDTO> > Login([FromBody] UsuarioCreateDTO usuarioCreate)
        {
            var usuario = mapper.Map <Usuario>(usuarioCreate);
            var resp    = await repository.Login(usuario);

            if (resp == null)
            {
                return(BadRequest());
            }
            var usuarioDTO = mapper.Map <UsuarioDTO>(resp);

            return(new CreatedAtRouteResult("ObtenerUsuariov2", new { id = usuario.Id }, usuarioDTO));
        }
Exemplo n.º 7
0
        public async Task <ActionResult <UsuarioToken> > RegisterUser([FromBody] UsuarioCreateDTO userInfo)
        {
            var result = await container.Usuarios.RegisterUser(userInfo);

            if (result.StatusResponse == StatusResponse.Ok)
            {
                return(result.Result);
            }
            else
            {
                return(BadRequest(result.MessageError));
            }
        }
Exemplo n.º 8
0
        public async Task <ActionResult> UpdateUsuario(int id, UsuarioCreateDTO usuarioCreateDTO)
        {
            var usuarioFromRepo = await _userRepo.GetById(id);

            if (usuarioFromRepo == null)
            {
                return(NotFound());
            }

            _mapper.Map(usuarioCreateDTO, usuarioFromRepo);

            _userRepo.UpdateEntity(usuarioFromRepo);

            await _userRepo.SaveChanges();

            return(NoContent());
        }
Exemplo n.º 9
0
        public async Task <ApiResponse <UsuarioToken> > RegisterUser(UsuarioCreateDTO dTO)
        {
            var user = new Usuario {
                UserName = dTO.Email, FirstName = dTO.Name, Email = dTO.Email,
            };
            var result = await userManager.CreateAsync(user, dTO.Password);

            if (result.Succeeded)
            {
                var token = await BuildToken(new UserLogin { Email = dTO.Email, Password = dTO.Password }, new List <string>());

                return(new ApiResponse <UsuarioToken> {
                    Result = token
                });
            }
            else
            {
                return(new ApiResponse <UsuarioToken> {
                    Result = null, StatusResponse = StatusResponse.BadRequest, MessageError = "Usuario o contraseña incorrecta.", StatusCode = 400
                });
            }
        }