public void SetupGraphClient(string searchText = null, string searchFilter = null)
        {
            if (searchFilter == "Wild")
            {
                _allGroupResult = _listGroups.Where(g => g.Group.DisplayName.Contains(searchText));
                if (_allGroupResult.Count() > 0)
                {
                    var filterSettingWild =
                        String.Format(_groupWildFilterQuery, _allGroupResult.First().Group.DisplayName);
                    _mockGraphClient.Setup(p => p.GetGroupCollectionsAsync(filterSettingWild, null))
                    .Returns(Task.FromResult(_allGroupResult));
                }
            }
            else if (searchFilter == "Exact")
            {
                _allGroupResult = _listGroups.Where(g => g.Group.DisplayName == searchText);
                if (_allGroupResult.Count() > 0)
                {
                    var filterSettingExact =
                        String.Format(_groupExactFilterQuery, _allGroupResult.First().Group.DisplayName);
                    _mockGraphClient.Setup(p => p.GetGroupCollectionsAsync(filterSettingExact, null))
                    .Returns(Task.FromResult(_allGroupResult));
                }
            }

            _providerService = new AzureDirectoryProviderService(_mockGraphClient.Object, _mockLogger.Object);
        }
        public AzureDirectoryProviderServiceUserTests()
        {
            _mockGraphClient = new Mock <IMicrosoftGraphApi>();
            _allUsers        = new ActiveDirectoryDataHelper().GetMicrosoftGraphUsers();
            _firstUser       = _allUsers.First();
            _emptyUsers      = new List <FabricGraphApiUser>();
            _oneUserResult   = new List <FabricGraphApiUser>()
            {
                _firstUser
            };

            _mockGraphClient.Setup(p => p.GetUserCollectionsAsync(It.IsAny <string>(), null))
            .Returns(Task.FromResult(_emptyUsers));
            var filterWildSetting  = String.Format(_userFilterWildQuery, this._firstUser.User.DisplayName, _firstUser.User.Surname, this._firstUser.User.GivenName);
            var filterExactSetting = String.Format(_userFilterExactQuery, _firstUser.User.DisplayName);

            _mockGraphClient.Setup(p => p.GetUserCollectionsAsync(filterWildSetting, null))
            .Returns(Task.FromResult(_oneUserResult));

            _mockGraphClient.Setup(p => p.GetUserCollectionsAsync(filterExactSetting, null))
            .Returns(() =>
            {
                var userEntry =
                    _allUsers.FirstOrDefault(p =>
                                             AzureSearchEqualsPredicate(p, _directorySearchForJason));

                if (userEntry == null)
                {
                    return(null);
                }

                List <FabricGraphApiUser> user = new List <FabricGraphApiUser>();
                user.Add(userEntry);
                return(Task.FromResult((IEnumerable <FabricGraphApiUser>)user));
            });

            _mockGraphClient.Setup(p => p.GetUserAsync(_firstUser.User.Id, null))
            .Returns(Task.FromResult(_firstUser));

            _mockLogger      = new Mock <ILogger>();
            _providerService = new AzureDirectoryProviderService(_mockGraphClient.Object, _mockLogger.Object);
        }