public void SetPasswordHash_CallsRepository()
        {
            string userName    = "******";
            string updatedHash = "hash";

            var user = new User()
            {
                Username = userName
            };


            var iUser = new IdentityUser()
            {
                UserName = userName
            };

            UserRepository.Get(Arg.Is(userName)).Returns(user);

            UserRepository.DidNotReceive().Get(Arg.Any <string>());
            MyWork.DidNotReceive().Complete();

            uut.SetPasswordHashAsync(iUser, updatedHash).Wait();

            // Check the the correct calls were received.
            UserRepository.Received(1).Get(Arg.Is(userName));
            MyWork.Received(1).Complete();

            Assert.That(user.Hash, Is.EqualTo(updatedHash));
        }
Beispiel #2
0
        public void EditProfile_WithInvalidLastName_ReturnsError(string input)
        {
            // Setup the viewmodel.
            viewModel.LastName = input;

            // Attempt to edit the profile.
            var result = uut.EditProfile(viewModel);

            Assert.That(uut.ModelState.IsValid, Is.False);

            // Ensure no calls were made to the repositories.
            UserRepository.DidNotReceive().Get(Arg.Any <string>());
            UserRepository.DidNotReceive().AddOrUpdate(Arg.Any <User>());
            MyWork.DidNotReceive().Complete();

            // Check the returned view.
            Assert.That(result, Is.TypeOf <ViewResult>());

            var vResult = result as ViewResult;

            Assert.That(vResult.ViewName, Is.EqualTo("EditProfile"));

            // Check the viewmodel.
            Assert.That(vResult.Model, Is.TypeOf <EditProfileViewModel>());

            var model = vResult.Model as EditProfileViewModel;

            // Check the data.
            Assert.Multiple(() =>
            {
                Assert.That(model.Email, Is.EqualTo(viewModel.Email));
                Assert.That(model.FirstName, Is.EqualTo(viewModel.FirstName));
                Assert.That(model.LastName, Is.EqualTo(viewModel.LastName));
            });
        }
Beispiel #3
0
        public void Create_CallsRepositoryAdd()
        {
            // Register a lobby with the mock.
            var lobby = new Lobby()
            {
                Bets = new List <Bet>()
            };

            LobbyRepository.Get(Arg.Any <long>()).Returns(lobby);

            // Assert that we hit the repository.
            BetRepository.DidNotReceive().Add(Arg.Any <Bet>());
            MyWork.DidNotReceive().Complete();

            var viewModel = new CreateBetViewModel()
            {
                BuyIn       = "0",
                Description = "Description",
                LobbyID     = 0,
                StartDate   = DateTime.Now.ToLongDateString(),
                StopDate    = DateTime.Now.ToLongDateString(),
                Title       = "Name"
            };

            uut.Create(viewModel);

            Assert.That(uut.ModelState.IsValid);

            // Assert that we hit the repository.
            BetRepository.Received(1).Add(Arg.Any <Bet>());
            MyWork.Received(1).Complete();
        }
        public void Create_WithValidData_CallsRepositoryAdd()
        {
            UserRepository.DidNotReceive().Add(Arg.Any <User>());
            MyWork.DidNotReceive().Complete();

            uut.Create(viewModel);

            UserRepository.Received(1).Add(Arg.Any <User>());
            MyWork.Received(1).Complete();
        }
Beispiel #5
0
        public void FindByName_CallsRepository()
        {
            string userName = "******";

            UserRepository.DidNotReceive().Get(Arg.Any <string>());
            MyWork.DidNotReceive().Complete();

            var result = uut.FindByNameAsync(userName).Result;

            // Check the the correct calls were received.
            UserRepository.Received(1).Get(Arg.Is(userName));
            MyWork.DidNotReceive().Complete();
        }
Beispiel #6
0
        public void AcceptInvitationToLobby_LobbyInInvitedToLobbies_ProperFunctionsCalled()
        {
            MyWork.DidNotReceive().Complete();
            var lobby = Substitute.For <Lobby>();
            var user  = new User();

            lobby.DidNotReceive().AcceptLobby(Arg.Any <User>());

            LobbyRepository.Get(Arg.Any <long>()).Returns(lobby);
            MyWork.User.Get(Arg.Any <string>()).Returns(user);

            uut.Accept(1);

            lobby.Received(1).AcceptLobby(Arg.Any <User>());
            MyWork.Received(1).Complete();
        }
Beispiel #7
0
        public void Create_CallsRepositoryAdd()
        {
            // Assert that we hit the repository.
            LobbyRepository.DidNotReceive().Add(Arg.Any <Lobby>());
            MyWork.DidNotReceive().Complete();

            var viewModel = new CreateLobbyViewModel()
            {
                Description = "Description",
                Name        = "Name"
            };

            uut.Create(viewModel);

            // Assert that we hit the repository.
            LobbyRepository.Received(1).Add(Arg.Any <Lobby>());
            MyWork.Received(1).Complete();
        }
        public void GetPasswordHash_CallsRepository()
        {
            string userName = "******";

            var iUser = new IdentityUser()
            {
                UserName = userName
            };

            UserRepository.DidNotReceive().Get(Arg.Any <string>());
            MyWork.DidNotReceive().Complete();

            var result = uut.GetPasswordHashAsync(iUser).Result;

            // Check the the correct calls were received.
            UserRepository.Received(1).Get(Arg.Is(userName));
            MyWork.DidNotReceive().Complete();
        }
Beispiel #9
0
        public void EditProfile_WithValidInput_Redirects()
        {
            // Setup user and identity.
            string userName = "******";

            var user = new User()
            {
                Username = userName
            };

            var identity = Substitute.For <IIdentity>();

            identity.Name.Returns(userName);
            context.Identity.Returns(identity);

            UserRepository.Get(Arg.Any <string>()).Returns(user);

            // Assert the repository state.
            UserRepository.DidNotReceive().Get(Arg.Any <string>());
            MyWork.DidNotReceive().Complete();

            // Attempt to edit the profile.
            var result = uut.EditProfile(viewModel);

            Assert.That(uut.ModelState.IsValid, Is.True);

            // Ensure calls were made to the repositories.
            UserRepository.Received(1).Get(Arg.Any <string>());
            MyWork.Received(1).Complete();

            // Check the returned view.
            Assert.That(result, Is.TypeOf <RedirectToRouteResult>());

            var rResult = result as RedirectToRouteResult;

            Assert.That(rResult.RouteName, Is.EqualTo(""));
            Assert.That(rResult.Permanent, Is.False);
        }