Esempio n. 1
0
        public void RegisterUser_WithAValidUser_ShouldAddAnEntryToTheUsersCollectionInTheDatabase()
        {
            var mock = new Mock<IIssueTrackerDatabase>();
            var mockDictionary = new Mock<IDictionary<string, User>>();
            mock.Setup(d => d.UsersByUsername).Returns(mockDictionary.Object);

            var name = "Name";
            var password = "******";
            var database = mock.Object;
            var trackerTest = new IssueTracker(database);

            trackerTest.RegisterUser(name, password, password);

            mockDictionary.Verify(d => d.Add(It.IsAny<string>(), It.IsAny<User>()), Times.Exactly(1));
        }
Esempio n. 2
0
        public void RegisterUser_ShouldAddAnEntryWithTheCorrectKeyAndValueToTheCollection()
        {
            var mock = new Mock<IIssueTrackerDatabase>();
            var mockDictionary = new Mock<IDictionary<string, User>>();

            string expectedUsername = null;
            User expectedUser = null;
            mockDictionary.Setup(d => d.Add(It.IsAny<string>(), It.IsAny<User>()))
                .Callback<string, User>(
                    (name, user) =>
                    {
                        expectedUsername = name;
                        expectedUser = user;
                    });

            mock.Setup(d => d.UsersByUsername).Returns(mockDictionary.Object);

            var username = "******";
            var password = "******";
            var database = mock.Object;
            var trackerTest = new IssueTracker(database);

            trackerTest.RegisterUser(username, password, password);

            Assert.AreEqual(expectedUsername, username);
            Assert.AreEqual(expectedUser.Name, username);
            Assert.AreEqual(expectedUser.Password, HashUtility.HashPassword(password));
        }