Exemplo n.º 1
0
        public async Task Handle_ShouldPersistUser()
        {
            try
            {
                var command = new Register.Command
                {
                    Email       = "*****@*****.**",
                    UserName    = "******",
                    Password    = "******",
                    DisplayName = "imam"
                };

                var mockUser     = new Mock <UserManager <AppUser> >();
                var jwtGenerator = new Mock <IJwtGenerator>();
                mockUser.Setup(userManager => userManager.FindByIdAsync(It.IsAny <string>()))
                .ReturnsAsync(new AppUser {
                    UserName = "******"
                });
                jwtGenerator.Setup(jwt => jwt.CreateToken(new AppUser()))
                .Returns("00000-00000-00000-00000");

                /* mockUser.Setup(userManager => userManager.IsInRoleAsync(It.IsAny<AppUser>(), "SweetTooth"))
                 *   .ReturnsAsync(true);*/

                var handler = new Register.Handler(Context, new FakeUserManager(), jwtGenerator.Object);

                var result = await handler.Handle(command, CancellationToken.None);

                result.ShouldNotBeNull();
                result.Username.ShouldBe(command.UserName);
            }
            catch (Exception ex)
            {
            }
        }
        public async Task Handler_should_throw_exception_on_null_company()
        {
            //  arrange
            var repositoryMock    = new Mock <IUserRepository>();
            var companyMock       = new Mock <ICompanyRepository>();
            var timeProvicerMock  = new Mock <IDateTimeProvider>();
            var mailerMock        = new Mock <IMailer>();
            var emailProvicerMock = new Mock <EmailProvider>(mailerMock.Object);

            repositoryMock.Setup(x => x.GetByIdAsync(It.IsAny <string>(), It.IsAny <bool>())).ReturnsAsync((User)null);

            var handler = new Register.Handler(repositoryMock.Object, emailProvicerMock.Object, timeProvicerMock.Object, companyMock.Object);

            var command = new Register.Command("email", "password", "firstName", "lastName", "testCompanyId");

            // act
            Func <Task> act       = () => handler.Handle(command, CancellationToken.None);
            var         exception = await Assert.ThrowsAsync <BadRequestException>(act);

            //assert
            exception.Should().NotBeNull();
            exception.Message.Should().Be("Company not found");
        }