Esempio n. 1
0
        public async Task GetPeopleTest()
        {
            IUserPeopleCollectionPage people = new UserPeopleCollectionPage();

            for (int i = 0; i < 3; i++)
            {
                var person = new Person()
                {
                    DisplayName = "Conf Room" + i,
                };

                people.Add(person);
            }

            for (int i = 0; i < 12; i++)
            {
                var user = new Person()
                {
                    DisplayName = "TestUser" + i,
                };

                people.Add(user);
            }

            var mockGraphServiceClient = new MockGraphServiceClient
            {
                People = people
            };

            mockGraphServiceClient.SetMockBehavior();

            IGraphServiceClient serviceClient = mockGraphServiceClient.GetMockGraphServiceClient().Object;
            MSGraphUserService  userService   = new MSGraphUserService(serviceClient, timeZoneInfo: TimeZoneInfo.Local);

            var result = await userService.GetPeopleAsync("test");

            Assert.IsTrue(result.Count == 12);

            // "Conf Room" is filtered
            foreach (var user in result)
            {
                Assert.IsFalse(user.DisplayName.StartsWith("Conf Room"));
            }
        }
        static MockMSGraphUserClient()
        {
            mockMsGraphUserService = new Mock <IGraphServiceClient>();
            mockMsGraphUserService.Setup(service => service.Users.Request(It.IsAny <List <QueryOption> >()).GetAsync()).Returns(() =>
            {
                IGraphServiceUsersCollectionPage result = new GraphServiceUsersCollectionPage();

                User user = new User()
                {
                    DisplayName       = "Jane Doe",
                    GivenName         = "Jane",
                    Surname           = "Doe",
                    UserPrincipalName = "Jane Doe",
                    Mail = "*****@*****.**"
                };
                result.Add(user);

                user = new User()
                {
                    DisplayName       = "John Doe",
                    GivenName         = "John",
                    Surname           = "Doe",
                    UserPrincipalName = "John Doe",
                    Mail = "*****@*****.**"
                };
                result.Add(user);

                user = new User()
                {
                    DisplayName = "Conf Room Test",
                    Mail        = "*****@*****.**"
                };
                result.Add(user);

                return(Task.FromResult(result));
            });
            mockMsGraphUserService.Setup(service => service.Me.Contacts.Request(It.IsAny <List <QueryOption> >()).GetAsync()).Returns(() =>
            {
                IUserContactsCollectionPage result = new UserContactsCollectionPage();

                List <EmailAddress> emailAddresses = new List <EmailAddress>
                {
                    new EmailAddress()
                    {
                        Address = "*****@*****.**"
                    }
                };
                Contact contact = new Contact()
                {
                    DisplayName    = "Jane Doe",
                    GivenName      = "Jane",
                    Surname        = "Doe",
                    EmailAddresses = emailAddresses
                };
                result.Add(contact);

                emailAddresses = new List <EmailAddress>
                {
                    new EmailAddress()
                    {
                        Address = "*****@*****.**"
                    }
                };
                contact = new Contact()
                {
                    DisplayName    = "John Doe",
                    GivenName      = "John",
                    Surname        = "Doe",
                    EmailAddresses = emailAddresses
                };
                result.Add(contact);

                emailAddresses = new List <EmailAddress>
                {
                    new EmailAddress()
                    {
                        Address = "*****@*****.**"
                    }
                };
                contact = new Contact()
                {
                    DisplayName    = "Conf Room Test",
                    EmailAddresses = emailAddresses
                };
                result.Add(contact);

                return(Task.FromResult(result));
            });
            mockMsGraphUserService.Setup(service => service.Me.People.Request(It.IsAny <List <QueryOption> >()).GetAsync()).Returns(() =>
            {
                IUserPeopleCollectionPage result = new UserPeopleCollectionPage();

                List <ScoredEmailAddress> emailAddresses = new List <ScoredEmailAddress>
                {
                    new ScoredEmailAddress()
                    {
                        Address = "*****@*****.**", RelevanceScore = 1
                    }
                };
                Person person = new Person()
                {
                    DisplayName          = "Jane Doe",
                    GivenName            = "Jane",
                    Surname              = "Doe",
                    UserPrincipalName    = "Jane Doe",
                    ScoredEmailAddresses = emailAddresses
                };
                result.Add(person);

                emailAddresses = new List <ScoredEmailAddress>
                {
                    new ScoredEmailAddress()
                    {
                        Address = "*****@*****.**", RelevanceScore = 1
                    }
                };
                person = new Person()
                {
                    DisplayName          = "John Doe",
                    GivenName            = "John",
                    Surname              = "Doe",
                    UserPrincipalName    = "John Doe",
                    ScoredEmailAddresses = emailAddresses
                };
                result.Add(person);

                emailAddresses = new List <ScoredEmailAddress>
                {
                    new ScoredEmailAddress()
                    {
                        Address = "*****@*****.**", RelevanceScore = 1
                    }
                };
                person = new Person()
                {
                    DisplayName          = "Conf Room Test",
                    ScoredEmailAddresses = emailAddresses
                };
                result.Add(person);

                return(Task.FromResult(result));
            });
        }