public async Task TestFor_FollowList()
        {
            //Arrange
            //Mock MoveNextAsync
            Mock <IAsyncCursor <Follow> > _userCursor = new Mock <IAsyncCursor <Follow> >();

            _userCursor.Setup(_ => _.Current).Returns(followedlist);
            _userCursor
            .SetupSequence(_ => _.MoveNext(It.IsAny <CancellationToken>()))
            .Returns(true)
            .Returns(false);

            //Mock FindSync
            _followMockCollection.Setup(op => op.FindSync(It.IsAny <FilterDefinition <Follow> >(),
                                                          It.IsAny <FindOptions <Follow, Follow> >(),
                                                          It.IsAny <CancellationToken>())).Returns(_userCursor.Object);

            //Mock GetCollection
            _mockContext.Setup(c => c.GetCollection <Follow>(typeof(Follow).Name)).Returns(_followMockCollection.Object);

            _mockOptions.Setup(s => s.Value).Returns(settings);
            var context  = new MongoUserDBContext(_mockOptions.Object);
            var userRepo = new UserRepository(context);

            //Act
            var listOfFollewers = await userRepo.FollowList(_user.Id);

            //Assert
            Assert.NotNull(listOfFollewers);
        }
Пример #2
0
        public async Task BoundaryTestfor_ValidUserEmailAsync()
        {
            //mocking
            _mockCollection.Setup(op => op.InsertOneAsync(_user, null,
                                                          default(CancellationToken))).Returns(Task.CompletedTask);
            _mockContext.Setup(c => c.GetCollection <User>(typeof(User).Name)).Returns(_mockCollection.Object);

            //Craetion of new Db
            _mockOptions.Setup(s => s.Value).Returns(settings);
            var context  = new MongoUserDBContext(_mockOptions.Object);
            var userRepo = new UserRepository(context);

            //Act
            await userRepo.Create(_user);

            var result = await userRepo.Get(_user.Id);

            ////Action
            //  var getregisteredUser = await _userServices.GetUser(user.UserName);
            bool CheckEmail = Regex.IsMatch(result.Email, @"\A(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)\Z", RegexOptions.IgnoreCase);
            bool isEmail    = Regex.IsMatch(_user.Email, @"\A(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)\Z", RegexOptions.IgnoreCase);

            //Assert
            Assert.True(isEmail);
            Assert.True(CheckEmail);
        }
        public async Task TestFor_GetAllContents()
        {
            //Arrange
            //Mock MoveNextAsync
            Mock <IAsyncCursor <Content> > _userCursor = new Mock <IAsyncCursor <Content> >();

            _userCursor.Setup(_ => _.Current).Returns(contentslist);
            _userCursor
            .SetupSequence(_ => _.MoveNext(It.IsAny <CancellationToken>()))
            .Returns(true)
            .Returns(false);

            //Mock FindSync
            _ContentMockCollection.Setup(op => op.FindSync(It.IsAny <FilterDefinition <Content> >(),
                                                           It.IsAny <FindOptions <Content, Content> >(),
                                                           It.IsAny <CancellationToken>())).Returns(_userCursor.Object);

            //Mock GetCollection
            _mockContext.Setup(c => c.GetCollection <Content>(typeof(Content).Name)).Returns(_ContentMockCollection.Object);

            _mockOptions.Setup(s => s.Value).Returns(settings);
            var context  = new MongoUserDBContext(_mockOptions.Object);
            var userRepo = new UserRepository(context);

            //Act
            var updated = await userRepo.GetAllContent(_user.Id, contentslist);

            //Assert
            Assert.NotNull(updated);
        }
Пример #4
0
        public async Task TestFor_PasswordAndConfirmPassword()
        {
            _mockCollection.Setup(op => op.InsertOneAsync(_user, null,
                                                          default(CancellationToken))).Returns(Task.CompletedTask);
            _mockContext.Setup(c => c.GetCollection <User>(typeof(User).Name)).Returns(_mockCollection.Object);


            _mockOptions.Setup(s => s.Value).Returns(settings);
            var context  = new MongoUserDBContext(_mockOptions.Object);
            var userRepo = new UserRepository(context);

            //Act
            await userRepo.Create(_user);

            var result = await userRepo.Get(_user.Id);

            var MinLength = 8;
            var MaxLength = 25;

            //Action
            var actualLength = _user.Password.Length;

            //Assert
            Assert.Equal(result.Password, result.ConfirmPassword);
            Assert.InRange(result.Password.Length, MinLength, MaxLength);
            Assert.InRange(actualLength, MinLength, MaxLength);
        }
        public async Task TestFor_ActivityLog()
        {
            //Arrange

            Mock <IAsyncCursor <ILog> > _userCursor = new Mock <IAsyncCursor <ILog> >();

            _userCursor.Setup(_ => _.Current).Returns(_loglist);
            _userCursor
            .SetupSequence(_ => _.MoveNext(It.IsAny <CancellationToken>()))
            .Returns(true)
            .Returns(false);

            //Mock FindSync
            _iLogmockCollection.Setup(op => op.FindSync(It.IsAny <FilterDefinition <ILog> >(),
                                                        It.IsAny <FindOptions <ILog, ILog> >(),
                                                        It.IsAny <CancellationToken>())).Returns(_userCursor.Object);

            //Mock GetCollection
            _mockContext.Setup(c => c.GetCollection <ILog>(typeof(ILog).Name)).Returns(_iLogmockCollection.Object);

            _mockOptions.Setup(s => s.Value).Returns(settings);
            var context = new MongoUserDBContext(_mockOptions.Object);

            var userRepo = new UserRepository(context);
            //Act

            var ILog = await userRepo.ActivityLog(_user.Id);

            //Assert
            Assert.NotNull(ILog);
        }
Пример #6
0
        public async Task BoundaryTestFor_validUserNameLengthAsync()
        {
            //mocking
            _mockCollection.Setup(op => op.InsertOneAsync(_user, null,
                                                          default(CancellationToken))).Returns(Task.CompletedTask);
            _mockContext.Setup(c => c.GetCollection <User>(typeof(User).Name)).Returns(_mockCollection.Object);

            //Craetion of new Db
            _mockOptions.Setup(s => s.Value).Returns(settings);
            var context  = new MongoUserDBContext(_mockOptions.Object);
            var userRepo = new UserRepository(context);

            //Act
            await userRepo.Create(_user);

            var result = await userRepo.Get(_user.Id);

            var MinLength = 3;
            var MaxLength = 50;

            //Action
            var actualLength = _user.UserName.Length;

            //Assert
            Assert.InRange(result.UserName.Length, MinLength, MaxLength);
            Assert.InRange(actualLength, MinLength, MaxLength);
        }
        public async Task TestFor_FollowUser()
        {
            //Arrange
            var _senderusers = new User
            {
                FirstName       = "Baby",
                LastName        = "Bab",
                UserName        = "******",
                Email           = "*****@*****.**",
                Password        = "******",
                ConfirmPassword = "******",
                ProfilePicture  = "Pho"
            };

            //Craetion of new Db
            // _mockOptions.Setup(s => s.Value).Returns(settings);
            var context  = new MongoUserDBContext(_mockOptions.Object);
            var userRepo = new UserRepository(context);

            //Act

            var isFollowed = await userRepo.FollowUser(_user.Id, _senderusers.Id);

            //Assert
            Assert.True(isFollowed);
        }
Пример #8
0
        public async Task ExceptionTestFor_UserNotFound()
        {
            _mockOptions.Setup(s => s.Value).Returns(settings);
            var context  = new MongoUserDBContext(_mockOptions.Object);
            var userRepo = new UserRepository(context);

            var ex = await Assert.ThrowsAsync <UserNotFoundException>(() => userRepo.SignIn(_user.UserName, _user.Password));

            Assert.Equal("User Not Found ", ex.Messages);
        }
Пример #9
0
        public async Task ExceptionTestFor_ValidRegistration()
        {
            _mockOptions.Setup(s => s.Value).Returns(settings);
            var context  = new MongoUserDBContext(_mockOptions.Object);
            var userRepo = new UserRepository(context);

            //Act
            //Assert
            await Assert.ThrowsAsync <UserExistException>(async() => await userRepo.Create(_user));
        }
Пример #10
0
        public async Task ExceptionTestFor_ValidUserName_InvalidPassword()
        {
            _mockOptions.Setup(s => s.Value).Returns(settings);
            var context  = new MongoUserDBContext(_mockOptions.Object);
            var userRepo = new UserRepository(context);

            //Assert
            var ex = await Assert.ThrowsAsync <InvalidCredentialsExceptions>(() => userRepo.SignIn(_user.UserName, _user.Password));

            Assert.Equal("Please enter valid usename & password", ex.Messages);
        }
        public async Task TestFor_HideMedia()
        {
            //mocking
            //  Craetion of new Db
            var context  = new MongoUserDBContext(_mockOptions.Object);
            var userRepo = new UserRepository(context);

            //  Act
            var IsHided = await userRepo.HideMedia(_content.Image, _content.Visibility, _content.Video);

            //Assert
            Assert.True(IsHided);
        }
        public void MongoBookDBContext_Constructor_Success()
        {
            var settings = new Mongosettings()
            {
                Connection   = "mongodb://test123 ",
                DatabaseName = "TestDB"
            };

            _mockOptions.Setup(s => s.Value).Returns(settings);
            _mockClient.Setup(c => c
                              .GetDatabase(_mockOptions.Object.Value.DatabaseName, null))
            .Returns(_mockDB.Object);

            //Act
            var context = new MongoUserDBContext(_mockOptions.Object);

            //Assert
            Assert.NotNull(context);
        }
        public async Task GetAllUsers()
        {
            //Arrange
            //Mock MoveNextAsync
            Mock <IAsyncCursor <User> > _userCursor = new Mock <IAsyncCursor <User> >();

            _userCursor.Setup(_ => _.Current).Returns(_list);
            _userCursor
            .SetupSequence(_ => _.MoveNext(It.IsAny <CancellationToken>()))
            .Returns(true)
            .Returns(false);

            //Mock FindSync
            _mockCollection.Setup(op => op.FindSync(It.IsAny <FilterDefinition <User> >(),
                                                    It.IsAny <FindOptions <User, User> >(),
                                                    It.IsAny <CancellationToken>())).Returns(_userCursor.Object);

            //Mock GetCollection
            _mockContext.Setup(c => c.GetCollection <User>(typeof(User).Name)).Returns(_mockCollection.Object);

            //Jayanth Creating one more instance of DB

            _mockOptions.Setup(s => s.Value).Returns(settings);

            // Creating one more instance of DB
            // Passing _mockOptions instaed of _mockContext
            var context = new MongoUserDBContext(_mockOptions.Object);

            var userRepo = new UserRepository(context);

            //Act
            var result = await userRepo.GetAll();

            //Assert
            //loop only first item and assert
            foreach (User user in result)
            {
                Assert.NotNull(user);
                Assert.Equal(user.UserName, _user.UserName);
                Assert.Equal(user.Email, _user.Email);
                break;
            }
        }
        public async Task TestFor_GetProfile()
        {
            //Arrange
            //mocking
            _mockCollection.Setup(op => op.FindSync(It.IsAny <FilterDefinition <User> >(),
                                                    It.IsAny <FindOptions <User, User> >(),
                                                    It.IsAny <CancellationToken>()));

            //Craetion of new Db
            _mockOptions.Setup(s => s.Value).Returns(settings);
            var context  = new MongoUserDBContext(_mockOptions.Object);
            var userRepo = new UserRepository(context);

            //Act
            var result = await userRepo.GetProfile(_user.Id);

            //Assert
            Assert.NotNull(result);
        }
        public async Task TestFor_UpDateUserProfile()
        {
            //Arrange

            //mocking
            _mockCollection.Setup(s => s.UpdateOneAsync(It.IsAny <FilterDefinition <User> >(), It.IsAny <UpdateDefinition <User> >(), It.IsAny <UpdateOptions>(), It.IsAny <CancellationToken>()));
            _mockContext.Setup(c => c.GetCollection <User>(typeof(User).Name)).Returns(_mockCollection.Object);

            //Craetion of new Db
            _mockOptions.Setup(s => s.Value).Returns(settings);
            var context  = new MongoUserDBContext(_mockOptions.Object);
            var userRepo = new UserRepository(context);

            //Act
            userRepo.Update(_user);
            var result = await userRepo.Get(_user.Id);

            //Assert
            Assert.Equal(_user, result);
        }
        public async void TestFor_CreateNewUser()
        {
            //mocking
            _mockCollection.Setup(op => op.InsertOneAsync(_user, null,
                                                          default(CancellationToken))).Returns(Task.CompletedTask);
            _mockContext.Setup(c => c.GetCollection <User>(typeof(User).Name)).Returns(_mockCollection.Object);

            //Craetion of new Db
            _mockOptions.Setup(s => s.Value).Returns(settings);
            var context  = new MongoUserDBContext(_mockOptions.Object);
            var userRepo = new UserRepository(context);

            //Act
            await userRepo.Create(_user);

            var result = await userRepo.Get(_user.Id);

            //Assert
            Assert.Equal(_user.UserName, result.UserName);
        }
        public void MongoBookDBContext_GetCollection_ValidName_Success()
        {
            //Arrange
            var settings = new Mongosettings()
            {
                Connection   = "mongodb://tes123 ",
                DatabaseName = "TestDB"
            };

            _mockOptions.Setup(s => s.Value).Returns(settings);

            _mockClient.Setup(c => c.GetDatabase(_mockOptions.Object.Value.DatabaseName, null)).Returns(_mockDB.Object);

            //Act
            var context      = new MongoUserDBContext(_mockOptions.Object);
            var myCollection = context.GetCollection <User>("User");

            //Assert
            Assert.NotNull(myCollection);
        }
        public async Task TestFor_AddComment()
        {
            //Arrange

            //mocking
            _feedbackmMockCollection.Setup(op => op.InsertOneAsync(_feedback, null,
                                                                   default(CancellationToken))).Returns(Task.CompletedTask);
            _mockContext.Setup(c => c.GetCollection <Feedback>(typeof(Feedback).Name)).Returns(_feedbackmMockCollection.Object);

            //Craetion of new Db
            _mockOptions.Setup(s => s.Value).Returns(settings);
            var context  = new MongoUserDBContext(_mockOptions.Object);
            var userRepo = new UserRepository(context);

            //Act

            var updatedComment = await userRepo.AddComment(_feedback);

            //Assert
            Assert.Equal(_feedback, updatedComment);
        }
        public async Task TestFor_DeleteUser()
        {
            //Arrange

            //mocking
            _mockCollection.Setup(op => op.FindOneAndDelete(_user.Id, null, default(CancellationToken)));
            _mockContext.Setup(c => c.GetCollection <User>(typeof(User).Name));

            //Craetion of new Db
            _mockOptions.Setup(s => s.Value).Returns(settings);
            var context  = new MongoUserDBContext(_mockOptions.Object);
            var userRepo = new UserRepository(context);

            //Act
            await userRepo.Create(_user);

            userRepo.Delete(_user.Id);
            var result = await userRepo.Get(_user.Id);

            //Assert
            Assert.Null(result);
        }
        public async Task TestFor_AddContent()
        {
            //Arrange
            //mocking
            _ContentMockCollection.Setup(op => op.InsertOneAsync(_content, null,
                                                                 default(CancellationToken))).Returns(Task.CompletedTask);
            _mockContext.Setup(c => c.GetCollection <Content>(typeof(Content).Name)).Returns(_ContentMockCollection.Object);

            //Craetion of new Db
            _mockOptions.Setup(s => s.Value).Returns(settings);
            var context  = new MongoUserDBContext(_mockOptions.Object);
            var userRepo = new UserRepository(context);
            //mocking


            //Act
            var updated = userRepo.AddContent(contentslist, _user.Id);
            var result  = await userRepo.GetAllContent(_user.Id, contentslist);

            //Assert
            Assert.NotNull(result);
        }
        public async Task TestFor_UpdateContent()
        {
            //Arrange

            //mocking
            _ContentMockCollection.Setup(s => s.UpdateOneAsync(It.IsAny <FilterDefinition <Content> >(), It.IsAny <UpdateDefinition <Content> >(), It.IsAny <UpdateOptions>(), It.IsAny <CancellationToken>()));
            _mockContext.Setup(c => c.GetCollection <Content>(typeof(Content).Name)).Returns(_ContentMockCollection.Object);

            //Craetion of new Db
            _mockOptions.Setup(s => s.Value).Returns(settings);
            var context  = new MongoUserDBContext(_mockOptions.Object);
            var userRepo = new UserRepository(context);

            //Act

            var updatedContent = await userRepo.UpdateContent(_user.Id, _content);

            // var result = await userRepo.Get(_content.Id);

            //Assert
            Assert.NotNull(updatedContent);
        }
Пример #22
0
        public async Task BoundaryTestfor_ValidUserNameAsync()
        {
            //mocking
            _mockCollection.Setup(op => op.InsertOneAsync(_user, null,
                                                          default(CancellationToken))).Returns(Task.CompletedTask);
            _mockContext.Setup(c => c.GetCollection <User>(typeof(User).Name)).Returns(_mockCollection.Object);

            //Craetion of new Db
            _mockOptions.Setup(s => s.Value).Returns(settings);
            var context  = new MongoUserDBContext(_mockOptions.Object);
            var userRepo = new UserRepository(context);

            //Act
            await userRepo.Create(_user);

            var result = await userRepo.Get(_user.Id);

            bool getisUserName = Regex.IsMatch(result.UserName, @"^[a-zA-Z0-9]{4,10}$", RegexOptions.IgnoreCase);
            bool isUserName    = Regex.IsMatch(_user.UserName, @"^[a-zA-Z0-9]{4,10}$", RegexOptions.IgnoreCase);

            //Assert
            Assert.True(isUserName);
            Assert.True(getisUserName);
        }
        public async Task TestFor_ResetPassword()
        {
            //Arrange
            string Password = "******";

            //mocking
            _mockCollection.Setup(op => op.InsertOneAsync(_user, null,
                                                          default(CancellationToken))).Returns(Task.CompletedTask);
            _mockContext.Setup(c => c.GetCollection <User>(typeof(User).Name));

            //Craetion of new Db
            _mockOptions.Setup(s => s.Value).Returns(settings);
            var context  = new MongoUserDBContext(_mockOptions.Object);
            var userRepo = new UserRepository(context);


            //Act
            await userRepo.ResetPassword(_user.Id, Password);

            var result = await userRepo.Get(_user.Id);

            //Assert
            Assert.Equal(Password, result.Password);
        }