Beispiel #1
0
        public async Task <SpeakerSessionCollection> GetCollectionAsync()
        {
            var sessionResponse = await httpClientService.GetAsync <RootObject>($"{conferenceRouteSettings.BaseUrl}{conferenceRouteSettings.SessionsListUrl}");

            var speakerResponse = await httpClientService.GetAsync <RootObject>($"{conferenceRouteSettings.BaseUrl}{conferenceRouteSettings.SpeakersListUrl}");

            var result = new SpeakerSessionCollection()
            {
                SessionsList = sessionResponse.Collection?.Items,
                SpeakersList = speakerResponse.Collection?.Items
            };

            return(result);
        }
        public async void GetAllSessionsAndSpeakers_ReturnsOkResult()
        {
            //Arrange
            SpeakerSessionCollection speakerSessionCollection = new SpeakerSessionCollection()
            {
                SpeakersList = new List <ResponseItem>()
                {
                    new ResponseItem()
                    {
                        Id = 1
                    },
                    new ResponseItem()
                    {
                        Id = 2
                    }
                },

                SessionsList = new List <ResponseItem>()
                {
                    new ResponseItem()
                    {
                        Id = 1
                    },
                    new ResponseItem()
                    {
                        Id = 2
                    }
                }
            };

            conferenceService.GetCollectionAsync().Returns(speakerSessionCollection);

            //act
            var result = await conferenceController.GetAllSpeakersAndSessions();

            //Assert
            var viewResult = Assert.IsType <OkObjectResult>(result);
            var model      = Assert.IsAssignableFrom <SpeakerSessionCollection>(
                viewResult.Value);

            Assert.Equal(2, model.SessionsList.Count);
            Assert.Equal(2, model.SpeakersList.Count);
        }