public void SetUp() { //Map interfaces for further modifications DiMvc.Register(); Ioc.RegisterType<IUserRepository, UserRepository>(); Ioc.RegisterType<ICryptoProvider, KeccakCryptoProvider>(); Ioc.RegisterType<ISaltProvider, RandomSaltProvider>(); var cryptoProvider = Ioc.Resolve<ICryptoProvider>(); var saltProvider = Ioc.Resolve<ISaltProvider>(); _membershipProvider = new CalendarMembershipProvider(cryptoProvider, saltProvider); _userPassword = "******"; _userSalt = saltProvider.GetSalt(SALT_LENGTH); var keccak = cryptoProvider.GetHashWithSalt(_userPassword, _userSalt); _repoUnit = Ioc.Resolve<RepoUnit>(); _user = new User { Email = "*****@*****.**", FirstName = "Sherlock", LastName = "Holmes", PasswordHash = keccak, PasswordSalt = _userSalt, Role = Roles.Simple }; _repoUnit.User.Save(_user); }
public void CreateTeam_Should_Add_User_To_The_Team() { //arrange var user = new User { Live = LiveStatuses.Active, FirstName = "Alex", LastName = "Al", Id = 1 }; var teamVm = new TeamEditVm { Name = ".NET", Users = new List<UserVm> { new UserVm(user) } }; _unit.User.Save(user); //act _teamService.CreateTeam(teamVm); //assert _unit.Team.Load(t => t.Name == ".NET").First().Users.Count.Should().Be(1); }
public UserEditVm(User user) { UserId = user.Id; FirstName = user.FirstName; LastName = user.LastName; Email = user.Email; Role = user.Role; BirthDate = user.BirthDate; Contacts = new List<Contact>(user.Contacts); Live = user.Live; ApproveState = user.ApproveState; }
public void GenerateClients(RepoUnit repoUnit, int count = 1000) { for (var i = 1; i < count; i++) { var user = new User { Email = string.Format("test{0}@gmail.com", i), FirstName = "Test" + i, LastName = "Test", Role = Roles.Simple, Live = LiveStatuses.Active, ApproveState = ApproveStates.Approved }; repoUnit.User.Save(user); } }
public void Should_delete_user_from_database_When_specified_user_with_existing_email() { // arrange string email = "*****@*****.**"; var deletedUser = new User { Email = email, Contacts = new Collection<Contact>() }; _repoUnit.User.Save(deletedUser); // act new UsersController(_userService).Delete(new UserEditVm(deletedUser)); // assert _repoUnit.User.Get(user => user.Email == email).Live.Should().Be(LiveStatuses.Deleted); }
public void Should_add_new_user_to_database() { // arrange string email = "*****@*****.**"; var user = new User { Email = email, Contacts = new Collection<Contact>() }; // act _userService.SaveUser(new UserEditVm(user)); // assert _repoUnit.User.Load().ToList().Last().Email.ShouldBeEquivalentTo(email); }
public void Can_Paginate_Users() { //arrange //var mockConfig = new Mock<IConfig>(); //mockConfig.Setup(instance => instance.PageSize).Returns(pageSize); //Ioc.RegisterInstance<IConfig>(mockConfig.Object); _config.PageSize = 3; var expectedPage1Content = new User[] {_users[0], _users[1], _users[2]}; var expectedPage2Content = new User[] { _users[3] }; //act var usersPage1 = _userService.RetreiveList(new UserFilterVm {Page = 1}).Users; var usersPage2 = _userService.RetreiveList(new UserFilterVm {Page = 2}).Users; //assert usersPage1.ShouldAllBeEquivalentTo(expectedPage1Content); usersPage2.ShouldAllBeEquivalentTo(expectedPage2Content); }
public HomeService(UsersRules rules, RepoUnit unit, EventSavingService calendarEventService) { _savingService = calendarEventService; _rules = rules; _unit = unit; var users = unit.User.Load(); if (!users.Any()) { var defaultUser = new User { BirthDate = null, Email = "Admin", FirstName = "Admin", LastName = "Admin", Role = Roles.Admin, PasswordHash = "Admin", PasswordSalt = "", Live = LiveStatuses.Active, ApproveState = ApproveStates.Approved }; unit.User.Save(defaultUser); } }
private static void sendMsgToUser(User user) { var sender = Ioc.Resolve<EmailSender>(); var body = string.Format("Hi, {0}!\nYour account's status is {1} and {2} now.", user.FullName, user.Live.GetDescription(), user.ApproveState.GetDescription()); sender.Send("Status has been changed", body, user.Email); }
public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { if(!EmailSender.IsValidEmailAddress(email)) { status = MembershipCreateStatus.InvalidEmail; return null; } if (GetUser(email, true) != null) { status = MembershipCreateStatus.DuplicateEmail; return GetUser(email, false); } var salt = _salt.GetSalt(SALT_LENGTH); var user = new User { FirstName = email.Remove(email.IndexOf('@')), LastName = "", Email = email, PasswordHash = _crypto.GetHashWithSalt(password, salt), PasswordSalt = salt, Role = Roles.Simple, BirthDate = null, ApproveState = ApproveStates.NotApproved, Live = LiveStatuses.Active }; using (var unit = new RepoUnit()) { unit.User.Save(user); status = MembershipCreateStatus.Success; return GetUser(email, true); } }
public void Should_modify_user_details_When_pass_existing_user_to_the_edit_view() { // arrange var modifiedUser = new User { Email = "*****@*****.**", Contacts = new Collection<Contact>() }; _repoUnit.User.Save(modifiedUser); modifiedUser.Id = _repoUnit.User.Get(user => user.Email == modifiedUser.Email).Id; modifiedUser.Email = "*****@*****.**"; // act new UsersController(_userService).Edit(new UserEditVm(modifiedUser), false); // assert _repoUnit.User.Get(modifiedUser.Id).Email.ShouldBeEquivalentTo(modifiedUser.Email); }
public void Should_throw_WarningException_When_add_user_with_existing_email() { // arrange string email = "*****@*****.**"; _repoUnit.User.Save(new User { Email = email, Live = LiveStatuses.Active, ApproveState = ApproveStates.Approved }); var userToAdd = new User { Email = email, Contacts = new Collection<Contact>() }; // act Action action = () => _userService.SaveUser(new UserEditVm(userToAdd)); // assert action.ShouldThrow<WarningException>().WithMessage(string.Format("User with email {0} already exists", email)); }
public UserVm(User user) { UserId = user.Id; FullName = string.Format("{0} {1}", user.LastName, user.FirstName); }