Esempio n. 1
0
        public async Task Should_Create_User_When_All_Parameters_Success()
        {
            UserCreateCommand userCreateCommand = new UserCreateCommand(1, Guid.NewGuid().ToString(), _faker.Person.FullName, _faker.Person.Email);

            _userValidationMock.Setup(r => r.IsDuplicateName(It.IsAny <string>(), It.IsAny <string>())).Returns(Tuple.Create(false, "Name already exist"));
            _userSqlServerRepositoryMock.Setup(r => r.Create(It.IsAny <UserCreateCommand>())).Returns(_faker.Random.Number(1, 100));

            ResponseCommand response = await _userCreateCommandHandler.Handle(userCreateCommand, CancellationToken.None).ConfigureAwait(true);

            Assert.True(response.Success);
            Assert.True((int)response.Object > 0);
        }
        public void UserCreateCommandHandler_Handle()
        {
            var permissions = FakeObjects.TestPermissions();
            var roles       = FakeObjects.TestRoles();

            User newUser = null;

            using (var session = _store.OpenSession())
            {
                foreach (var permission in permissions)
                {
                    session.Store(permission);
                }
                foreach (var role in roles)
                {
                    session.Store(role);
                }

                session.SaveChanges();

                var commandHandler = new UserCreateCommandHandler(session);

                commandHandler.Handle(new UserCreateCommand()
                {
                    Email       = FakeValues.Email.PrependWith("new"),
                    Description = FakeValues.Description,
                    FirstName   = FakeValues.FirstName,
                    LastName    = FakeValues.LastName,
                    Password    = FakeValues.Password,
                    Roles       = FakeObjects.TestRoles().Select(x => x.Id)
                });

                session.SaveChanges();

                newUser = session.Query <User>()
                          .Where(x => x.Email == FakeValues.Email.PrependWith("new"))
                          .FirstOrDefault();
            }

            Assert.IsNotNull(newUser);
            Assert.AreEqual(FakeValues.FirstName, newUser.FirstName);
            Assert.AreEqual(FakeValues.LastName, newUser.LastName);
            Assert.AreEqual(FakeValues.Email.PrependWith("new"), newUser.Email);
            Assert.IsTrue(newUser.ValidatePassword(FakeValues.Password));
        }