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