public void Search_ResultsUpdated()
        {
            var          fakeCourse = FakeCourseService.GenerateFakeCourse();
            const string testTitle  = "test title";

            fakeCourse.Title = testTitle;

            var courseService = new Mock <ICourseService>();

            courseService.Setup(ics => ics.SearchCoursesAsync(testTitle))
            .ReturnsAsync(new List <Course>
            {
                fakeCourse
            });

            _registrations.RegisterInstance(courseService.Object).AsImplementedInterfaces();
            FinishRegistrations();

            var vm = _locator.MainViewModel;

            Assert.IsNotNull(vm);
            Assert.IsNotNull(vm.FoundCourses);

            Assert.IsTrue(vm.SearchValue.IsNullOrEmpty());
            vm.SearchValue = testTitle;

            Thread.Sleep(new TimeSpan(0, 0, 3));

            var foundCourse = vm.FoundCourses.FirstOrDefault();

            Assert.IsNotNull(foundCourse);
            Assert.AreEqual(fakeCourse, foundCourse);
        }
        public SessionViewModel(IDialogService dialogService, ILocalizedStringProvider loc,
                                ILoggingService loggingService, IAuthenticationService authService, IContactService contactService,
                                IDispatcherHelper dispatcher, INavigationService navigationService)
            : base(dialogService, loc, loggingService, authService, dispatcher, navigationService)
        {
            _contactService  = contactService;
            _contactForm     = new ContactForm();
            _scoredFeedback  = new ScoredFeedback();
            _subscription    = new Subscription();
            ParticipantToAdd = new Participant();

            if (IsInDesignMode)
            {
                Session  = FakeCourseService.GenerateFakeSession(123);
                Identity = new Identity();
                Subscription.Participants.Add(new Participant
                {
                    FirstName = "First",
                    LastName  = "Last",
                    Email     = "*****@*****.**"
                });
            }

            Messenger.Default.Register <AuthenticationChangedMessage>(this,
                                                                      m => DispatcherHelper.ExecuteOnUiThread(() => Identity = m.NewIdentity));
        }
示例#3
0
        public void Initialize()
        {
            _registrations      = new ContainerBuilder();
            _fakeContactService = new Mock <IContactService>(MockBehavior.Strict);
            _fakeDialogService  = new Mock <IDialogService>();
            _fakeSession        = FakeCourseService.GenerateFakeSession(0);

            _identity = new Identity();
            _identity.AddClaims(new Claim(Claim.GivenNameName, Claim.GivenNameName),
                                new Claim(Claim.FamilyNameName, Claim.FamilyNameName), new Claim(Claim.EmailName, Claim.EmailName));
            _authMessage = new AuthenticationChangedMessage(_identity);
        }
示例#4
0
 public void Initialize()
 {
     _registrations      = new ContainerBuilder();
     _courseService      = new Mock <ICourseService>(MockBehavior.Loose);
     _detailedFakeCourse = FakeCourseService.GenerateFakeCourse();
     _detailedFakeCourse.Descriptions.Add(new Description());
     _detailedFakeCourse.Instructor = new Instructor();
     _fakeCourse = new Course
     {
         Title = _detailedFakeCourse.Title,
         Id    = _detailedFakeCourse.Id
     };
 }
示例#5
0
        public void ShowCourseDetails_NavigationServiceCalled_ValidCourse()
        {
            // Arrange
            var course = FakeCourseService.GenerateFakeCourse();
            var ns     = new Mock <INavigationService>(MockBehavior.Loose);

            _registrations.RegisterInstance(ns.Object).AsImplementedInterfaces();
            FinishRegistrations();

            // Act
            _vm.ShowCourseDetailsCommand.Execute(course);

            // Assert
            ns.Verify(n => n.NavigateTo(Constants.Pages.CourseDetailsKey, It.IsAny <object>()), Times.Once);
        }
示例#6
0
        public void Initialize()
        {
            var random = new Random();

            _fakeCategory  = FakeCategoryService.GetFakeCategory(1, random);
            _registrations = new ContainerBuilder();
            _courseService = new Mock <ICourseService>();

            var courseList = new List <Course>();

            for (var i = 0; i < 5; i++)
            {
                courseList.Add(FakeCourseService.GenerateFakeCourse(random));
            }
            courseList.Sort();
            _fakeCourseList = courseList;
        }
        public static void AddFakeData(this Session session, Random random = null)
        {
            if (random == null)
            {
                random = new Random();
            }

            if (session.Location == null || session.Location.Name.IsNullOrWhiteSpace())
            {
                session.Location = FakeCourseService.GenerateFakeLocation(random);
            }

            if (!session.SessionSchedules.Any())
            {
                var amount = random.Next(1, 10);
                for (var i = 0; i < amount; i++)
                {
                    session.SessionSchedules.Add(FakeCourseService.GenerateFakeSessionSchedule(session.Id, random));
                }
            }
        }
        public CourseViewModel(ICourseService courseService, IDialogService dialogService, ILocalizedStringProvider loc,
                               ILoggingService loggingService, IAuthenticationService authService, IDispatcherHelper dispatcherHelper,
                               INavigationService navigationService, IPlatformActionService platformService)
            : base(dialogService, loc, loggingService, authService, dispatcherHelper, navigationService)
        {
            _courseService   = courseService;
            _platformService = platformService;
            _lockObject      = new object();

            if (IsInDesignMode)
            {
                Course = FakeCourseService.GenerateFakeCourse();
            }

            PropertyChanged += (sender, args) =>
            {
                if (args.PropertyName == nameof(IsLoading))
                {
                    ChangeLanguageCommand.RaiseCanExecuteChanged();
                }
            };
        }