public async Task Handle_ReturnsEmptyViewModel_WhenUserIsNotFound()
        {
            // arrange
            var userManager = UserManagerMockHelper.CreateUserManagerMock();

            userManager.Setup(x => x.GetUserAsync(It.IsAny <ClaimsPrincipal>())).ReturnsAsync((ApplicationUser)null);

            var sut = new TeamLeadItineraryListViewModelQueryHandler(Context, userManager.Object);

            // act
            var result = await sut.Handle(new TeamLeadItineraryListViewModelQuery(new ClaimsPrincipal()));

            // assert
            result.ShouldBeOfType <TeamLeadItineraryListerViewModel>().HasItineraries.ShouldBeFalse();
        }
        public async Task Handle_ReturnsCorrectViewModel_WhenUserIsFound()
        {
            // arrange
            var userManager = UserManagerMockHelper.CreateUserManagerMock();

            userManager.Setup(x => x.GetUserAsync(It.IsAny <ClaimsPrincipal>())).ReturnsAsync(_user);

            var sut = new TeamLeadItineraryListViewModelQueryHandler(Context, userManager.Object);

            // act
            var result = await sut.Handle(new TeamLeadItineraryListViewModelQuery(new ClaimsPrincipal()));

            // assert
            result.ShouldBeOfType <TeamLeadItineraryListerViewModel>();
            result.Campaigns.Count.ShouldBe(2);
            result.Campaigns[0].CampaignEvents.Count.ShouldBe(1);
            result.Campaigns[1].CampaignEvents.Count.ShouldBe(1);
            result.Campaigns[0].CampaignEvents[0].Itineraries.Count.ShouldBe(2);
        }