private void RaiseEvent(long id)
        {
            var role = RoleTestHelper.PendingRegistration().Build();
            var evt  = new RoleCreated(role, new UserId(1), new DomainEventId(id), _clock.UtcNow());

            _unitOfWork.Raise(evt);
        }
Ejemplo n.º 2
0
        public void ThrowWhenRoleNameIsTooShort()
        {
            var role = RoleTestHelper.RegisteredUser().Build();

            Action editingRole = () => role.Edit("42", role.Permissions);

            editingRole.Should().Throw <ManualValidationException>();
        }
Ejemplo n.º 3
0
        public void ThrowWhenModifyingAdminRoleName()
        {
            var role = RoleTestHelper.Admin().Build();

            Action editingRole = () => role.Edit("adMIN", role.Permissions);

            editingRole.Should().Throw <ManualValidationException>();
        }
Ejemplo n.º 4
0
        public void AllowAddingPermissionsToAdmin()
        {
            var role           = RoleTestHelper.Admin().Build();
            var newPermissions = role.Permissions.Concat(new [] { Permissions.PendingRegistration }).ToList();

            role.Edit(role.Rolename, newPermissions);

            role.Permissions.Should().Contain(Permissions.PendingRegistration);
        }
Ejemplo n.º 5
0
        public void ThrowWhenRemovingPermissionFromAdmin()
        {
            var role           = RoleTestHelper.Admin().Build();
            var newPermissions = role.Permissions.Where(p => p != Permissions.PLAY_GAME).ToList();

            Action editingRole = () => role.Edit(role.Rolename, newPermissions);

            editingRole.Should().Throw <ManualValidationException>();
        }
Ejemplo n.º 6
0
        public void EditRoleSuccessfully()
        {
            var role = RoleTestHelper.RegisteredUser().Build();

            role.Edit("1337", new [] { Permissions.ViewModPanel });

            role.Rolename.Should().Be("1337");
            role.Permissions.Should().BeEquivalentTo(Permissions.ViewModPanel);
        }
Ejemplo n.º 7
0
        public void AllowRemovingPendingRegistrationPermissionFromAdmin()
        {
            var role = RoleTestHelper.Admin()
                       .AddPermission(Permissions.PendingRegistration)
                       .Build();
            var newPermissions = role.Permissions.Where(p => p != Permissions.PENDING_REGISTRATION).ToList();

            role.Edit(role.Rolename, newPermissions);

            role.Permissions.Should().NotContain(Permissions.PendingRegistration);
        }
Ejemplo n.º 8
0
        public void RegisterFailedAttemptShouldUpdateDateAndNrOfAttempts()
        {
            var role = RoleTestHelper.PendingRegistration().Build();
            var evt  = new RoleCreated(role, new UserId(5),
                                       new DomainEventId(IdTestHelper.Next()), _clock.UtcNow().PlusHours(-1));

            evt.RegisterFailedAttempt(_clock.UtcNow());

            evt.LastAttemptedAt.Should().Be(_clock.UtcNow());
            evt.NrOfAttempts.Should().Be(1);
        }
Ejemplo n.º 9
0
        public void NotEqualWhenIdsAreDifferent()
        {
            var role  = RoleTestHelper.PendingRegistration().WithId(11).Build();
            var left  = new RoleCreated(role, new UserId(3), new DomainEventId(1), _clock.UtcNow());
            var right = new RoleCreated(role, new UserId(3), new DomainEventId(2), _clock.UtcNow());

            left.Equals((object)right).Should().BeFalse();
            left.Equals(right).Should().BeFalse();
            (left == right).Should().BeFalse();
            (left != right).Should().BeTrue();
        }
Ejemplo n.º 10
0
        public void TestGenerateJwtString()
        {
            var registeredUser = RoleTestHelper.RegisteredUser().WithId(2).Build();
            var authUser       = BuildAuthUser(UserId, "User", registeredUser);

            var clock = FakeClock.FromUtc(2020, 01, 16, 12, 0, 0);

            var    token     = JsonWebToken.Generate(authUser, clock);
            string jwtString = token.ToJwtString();

            jwtString.Should().Be(JWT_STRING);
        }
Ejemplo n.º 11
0
        public void NotEqualWhenTheOtherIsNull()
        {
            var         role  = RoleTestHelper.PendingRegistration().WithId(11).Build();
            var         left  = new RoleCreated(role, new UserId(4), new DomainEventId(1), _clock.UtcNow());
            RoleCreated?right = null;

            left.Equals(right as object).Should().BeFalse();
            left.Equals(right).Should().BeFalse();
            (left == right).Should().BeFalse();
            (left != right).Should().BeTrue();

            (right == left).Should().BeFalse();
            (right != left).Should().BeTrue();
        }
Ejemplo n.º 12
0
        public void EqualWhenIdsAreEqual()
        {
            var pendingRole = RoleTestHelper.PendingRegistration().WithId(11).Build();
            var left        = new RoleCreated(pendingRole, new UserId(1), new DomainEventId(1), _clock.UtcNow());

            var registeredRole = RoleTestHelper.RegisteredUser().WithId(12).Build();
            var right          = new RoleCreated(registeredRole, new UserId(2), new DomainEventId(1), _clock.UtcNow());

            left.Equals((object)right).Should().BeTrue();
            left.Equals(right).Should().BeTrue();
            (left == right).Should().BeTrue();
            (left != right).Should().BeFalse();
            left.GetHashCode().Should().Be(right.GetHashCode());
        }
Ejemplo n.º 13
0
        private void SeedAuthUserDomain(User admin)
        {
            var pendingRegistrationRole = RoleTestHelper.PendingRegistration().Build();
            var registeredUserRole      = RoleTestHelper.RegisteredUser().Build();
            var adminRole = RoleTestHelper.Admin().Build();

            var adminAuthUser = AuthUserTestHelper.FromUserAndRoles(admin, registeredUserRole, adminRole).Build();

            _unitOfWork.WithAuthUserTransaction(tran => {
                _roleRepository.Save(pendingRegistrationRole);
                _roleRepository.Save(registeredUserRole);
                _roleRepository.Save(adminRole);

                _authUserRepository.Save(adminAuthUser);

                tran.Commit();
            });
        }