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"); } }
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); } }
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 }); }