示例#1
0
        public IActionResult FinalizeOrder(CredentialsInputModel credentials)
        {
            var order = _orderService.SendOrder(credentials);

            if (order != null && ModelState.IsValid)
            {
                this.Db.Add(order);
            }

            this.Db.SaveChanges();

            return(this.Redirect("/Home/Index"));
        }
示例#2
0
        public Order SendOrder(CredentialsInputModel credentials)
        {
            var order = new Order
            {
                Name        = credentials.Name,
                Email       = credentials.Email,
                PhoneNumber = credentials.PhoneNumber,
                Address     = credentials.Address,
                OrderOn     = DateTime.Now
            };

            return(order);
        }
示例#3
0
        public async Task AuthenticateModelPasswordOrLoginInvalid_TryAuthenticate_returnsNotFoundException()
        {
            var model = new CredentialsInputModel {
                Login = "******", Password = "******"
            };

            user.Credentials.Password = "******";
            mockUserRepository.Setup(x => x.GetUserWithCompany(It.IsAny <string>(), It.IsAny <CancellationToken>())).ReturnsAsync(user);

            var domain = GenerateUserService();

            await Assert.ThrowsAsync <NotFoundException>(async() => await domain.Authenticate(model, new CancellationToken()));
        }
        public async Task <UserLoggedOutputModel> Authenticate(CredentialsInputModel model, CancellationToken cancellationToken)
        {
            var user = await userRepository.GetUserWithCompany(model.Login, cancellationToken)
                       ?? throw new NotFoundException("Login e Senha invalidos");

            if (user.Credentials is not null && !user.Credentials.isAuthentic(model.Password))
            {
                throw new NotFoundException("Login e Senha invalidos");
            }

            var userLogged = mapper.Map <UserLoggedOutputModel>(user);

            userLogged.JsonWebToken = await jwtGenerator.GenerateToken(user);

            return(userLogged);
        }
示例#5
0
        public async Task AutheticateModelIsValid_TryAuthenticate_ReturnsUserAuthenticatedAndJwtToken()
        {
            var jwt = new JwtModel {
                AccessToken = "TOKEN_AUTHETICATED", ExpiresAt = DateTime.Now
            };
            var model = new CredentialsInputModel {
                Login = "******", Password = "******"
            };
            var userLogged = new UserLoggedOutputModel {
                JsonWebToken = jwt, Login = "******", Name = "Vinicius Santana"
            };

            mockUserRepository.Setup(x => x.GetUserWithCompany(It.IsAny <string>(), It.IsAny <CancellationToken>())).ReturnsAsync(user);
            mockJwtService.Setup(x => x.GenerateToken(It.IsAny <User>())).ReturnsAsync(jwt);
            mockMapper.Setup(x => x.Map <UserLoggedOutputModel>(It.IsAny <User>())).Returns(userLogged);

            var domain = GenerateUserService();

            var result = await domain.Authenticate(model, new CancellationToken());

            Assert.NotNull(result);
        }
示例#6
0
 public async Task <IActionResult> Authenticate(CredentialsInputModel model, CancellationToken cancellationToken)
 {
     return(Ok(await userService.Authenticate(model, cancellationToken)));
 }