예제 #1
0
        public void GetSubscriptionExpiredDate_Ok(User.UserRole role)
        {
            var user       = User.Create(VALID_NAME, VALID_LASTNAME, VALID_CREDENTIALS, VALID_PROFILEPHOTO, role);
            var dtoService = new DateTimeOffsetServiceMock(DateTimeOffset.Now);

            if (role == User.UserRole.Registered)
            {
                user.ChangeRegistrationToConfirmed(dtoService);
            }

            var expireDate = user.GetSubscriptionExpiredDate();

            switch (role)
            {
            case User.UserRole.Registered:
                Assert.IsTrue(expireDate == dtoService.Now + TimeSpan.FromDays(365));
                break;

            case User.UserRole.Admin:
                Assert.IsNull(expireDate);
                break;

            default:
                throw new InvalidOperationException("missing role");
            }
        }
예제 #2
0
        public void ChangeRegistrationToConfirmed_VerifyUserAllowed(User.UserRole confirmedUserRole, bool confirmTwice, bool canConfirm)
        {
            var confirmedUser = User.Create(VALID_NAME, VALID_LASTNAME, VALID_CREDENTIALS, VALID_PROFILEPHOTO, confirmedUserRole);

            var now = DateTimeOffset.Now;
            var dateTimeOffsetService = new DateTimeOffsetServiceMock(now);

            var isConfirmed = true;

            try
            {
                confirmedUser.ChangeRegistrationToConfirmed(dateTimeOffsetService);

                if (confirmTwice)
                {
                    confirmedUser.ChangeRegistrationToConfirmed(dateTimeOffsetService);
                }
            }
            catch (UserException exc) when(exc.Code == (int)UserException.UserExceptionCode.CannotConfirmRegistration)
            {
                isConfirmed = false;
            }

            Assert.AreEqual(canConfirm, isConfirmed);
            if (canConfirm)
            {
                Assert.AreEqual(now, confirmedUser.SubscriptionDate);
            }
        }
예제 #3
0
        public static IEnumerable <object[]> GetDataRow_IsSubscriptionValid_VerifySubscription()
        {
            var invalidSubscriptionDate = DateTimeOffset.Now + TimeSpan.FromDays(367);
            var dtoServiceMock          = new DateTimeOffsetServiceMock(invalidSubscriptionDate);
            var dtoService = new DateTimeOffsetService();

            var admin = User.Create(VALID_NAME, VALID_LASTNAME, VALID_CREDENTIALS, VALID_PROFILEPHOTO, User.UserRole.Admin);

            yield return(new object[] { admin, dtoService, true });

            var registeredExpired = User.Create(VALID_NAME, VALID_LASTNAME, VALID_CREDENTIALS, VALID_PROFILEPHOTO, User.UserRole.Registered);

            registeredExpired.ChangeRegistrationToConfirmed(dtoService);
            yield return(new object[] { registeredExpired, dtoServiceMock, false });

            var registeredUnconfirmed = User.Create(VALID_NAME, VALID_LASTNAME, VALID_CREDENTIALS, VALID_PROFILEPHOTO, User.UserRole.Registered);

            yield return(new object[] { registeredUnconfirmed, dtoService, false });

            var registeredValid = User.Create(VALID_NAME, VALID_LASTNAME, VALID_CREDENTIALS, VALID_PROFILEPHOTO, User.UserRole.Registered);

            registeredValid.ChangeRegistrationToConfirmed(dtoService);
            yield return(new object[] { registeredValid, dtoService, true });
        }