Exemple #1
0
        public void ShowErrorTest()
        {
            var ErrorWindowService    = new ErrorWindowService();
            var QuestionWindowService = new QuestionWindowService();
            var EnterPinWindowService = new EnterPinWindowService();

            AuthorizationService = new AuthorizationService();


            StationRepository   = MockRepository.GenerateStub <IStationRepository>();
            LanguageRepository  = MockRepository.GenerateStub <ILanguageRepository>();
            LineProvider        = MockRepository.GenerateStub <ILineProvider>();
            BusinessPropsHelper = MockRepository.GenerateStub <IBusinessPropsHelper>();
            DataBinding         = MockRepository.GenerateStub <IDataBinding>();


            IoCContainer.Kernel.Bind <IDataBinding>().ToConstant <IDataBinding>(DataBinding).InSingletonScope();
            IoCContainer.Kernel.Bind <IAuthorizationService>().ToConstant <IAuthorizationService>(AuthorizationService).InSingletonScope();
            IoCContainer.Kernel.Bind <IStationRepository>().ToConstant <IStationRepository>(StationRepository).InSingletonScope();
            IoCContainer.Kernel.Bind <ILanguageRepository>().ToConstant <ILanguageRepository>(LanguageRepository).InSingletonScope();
            IoCContainer.Kernel.Bind <ILineProvider>().ToConstant <ILineProvider>(LineProvider).InSingletonScope();
            IoCContainer.Kernel.Bind <IBusinessPropsHelper>().ToConstant <IBusinessPropsHelper>(BusinessPropsHelper).InSingletonScope();
            IoCContainer.Kernel.Bind <IErrorWindowService>().ToConstant <IErrorWindowService>(ErrorWindowService).InSingletonScope();
            IoCContainer.Kernel.Bind <IQuestionWindowService>().ToConstant <IQuestionWindowService>(QuestionWindowService).InSingletonScope();
            IoCContainer.Kernel.Bind <IEnterPinWindowService>().ToConstant <IEnterPinWindowService>(EnterPinWindowService).InSingletonScope();


            DataBinding.Expect(x => x.TipListInfo).Return(new TipListInfo());



            SessionWS sessionId = new SessionWS();

            sessionId.balance  = new accountBalance();
            sessionId.username = "******";
            SessionWS sessionIdNull = null;


            WsdlRepository.BackToRecord();
            WsdlRepository.Expect(x => x.OpenSession("", true, "", "", false)).Return(new SessionWS()).IgnoreArguments();
            WsdlRepository.Expect(x => x.ValidateIdCard("1234", "0024", false, out sessionId)).Return(true).OutRef(sessionIdNull);
            WsdlRepository.Expect(x => x.LoginWithIdCard("0024", "1234", "1234")).Return(sessionId);
            WsdlRepository.Replay();

            StationRepository.TurnOffCashInInit = true;
            StationRepository.Expect(x => x.AllowAnonymousBetting).Return(true);
            StationRepository.Expect(x => x.IsReady).Return(true);
            StationRepository.Expect(x => x.Active).Return(1);
            StationRepository.Expect(x => x.StationNumber).Return("0024");
            StationRepository.Expect(x => x.HubSettings).Return(new Dictionary <string, string>());
            StationRepository.Currency = "EUR";

            ChangeTracker                           = IoCContainer.Kernel.Get <IChangeTracker>();
            ChangeTracker.CurrentUser               = new AnonymousUser("1", 1);
            ChangeTracker.CurrentUser.Cashpool      = 100000;
            ChangeTracker.CurrentUser.AvailableCash = 100000;



            BaseClass.Dispatcher.Invoke(() =>
            {
                BaseClass.Window = MyRegionManager.FindWindowByViewModel <MainViewModel>();
                BaseClass.Window.Show();
            });



            Thread.Sleep(1000);

            var mainModel = MyRegionManager.CurrentViewModelInRegion(RegionNames.ContentRegion);

            Task.Run(() =>
            {
                MessageMediator.SendMessage("1234", MsgTag.CardInserted);
            });

            while (EnterPinWindowService.Model == null)
            {
                Thread.Sleep(10);
            }

            Thread.Sleep(1000);

            EnterPinWindowService.Model.Pin       = "1234";
            EnterPinWindowService.Model.PinMasked = "1234";
            EnterPinWindowService.Model.ProceedCommand.Execute("");

            Task.Run(() =>
                     { mainModel.ShowMessage("msg1"); });
            Thread.Sleep(1000);

            QuestionWindowService.Model.YesCommand.Execute("");

            Task.Run(() =>
                     { mainModel.ShowError("error1"); });
            Thread.Sleep(1000);


            ErrorWindowService.Model.OKCommand.Execute("");


            Task.Run(() =>
                     { mainModel.ShowMessage("msg2"); });
            Thread.Sleep(1000);
            QuestionWindowService.Model.YesCommand.Execute("");

            Task.Run(() =>
                     { mainModel.ShowError("error2"); });
            Thread.Sleep(1000);
            ErrorWindowService.Model.OKCommand.Execute("");


            Task.Run(() =>
                     { QuestionWindowService.ShowMessage("mgs3", null, null, null, null, false, 1); });
            Thread.Sleep(3000);

            BaseClass.Dispatcher.Invoke(() =>
            {
                BaseClass.Window.Close();
            });
        }
Exemple #2
0
        public void OpenUserTicketsTest()
        {
            AuthorizationService = MockRepository.GenerateStub <IAuthorizationService>();
            StationRepository    = MockRepository.GenerateStub <IStationRepository>();
            LanguageRepository   = MockRepository.GenerateStub <ILanguageRepository>();
            LineProvider         = MockRepository.GenerateStub <ILineProvider>();
            BusinessPropsHelper  = MockRepository.GenerateStub <IBusinessPropsHelper>();
            DataBinding          = MockRepository.GenerateStub <IDataBinding>();
            ConfidenceFactor     = MockRepository.GenerateStub <IConfidenceFactor>();


            IoCContainer.Kernel.Bind <IDataBinding>().ToConstant <IDataBinding>(DataBinding).InSingletonScope();
            IoCContainer.Kernel.Bind <IAuthorizationService>().ToConstant <IAuthorizationService>(AuthorizationService).InSingletonScope();
            IoCContainer.Kernel.Bind <IStationRepository>().ToConstant <IStationRepository>(StationRepository).InSingletonScope();
            IoCContainer.Kernel.Bind <ILanguageRepository>().ToConstant <ILanguageRepository>(LanguageRepository).InSingletonScope();
            IoCContainer.Kernel.Bind <ILineProvider>().ToConstant <ILineProvider>(LineProvider).InSingletonScope();
            IoCContainer.Kernel.Bind <IBusinessPropsHelper>().ToConstant <IBusinessPropsHelper>(BusinessPropsHelper).InSingletonScope();
            IoCContainer.Kernel.Bind <IConfidenceFactor>().ToConstant <IConfidenceFactor>(ConfidenceFactor).InSingletonScope();

            ConfidenceFactor.Expect(x => x.CalculateFactor(new Ticket())).Return(1000000).IgnoreArguments();

            StationRepository.TurnOffCashInInit = true;
            StationRepository.Expect(x => x.AllowAnonymousBetting).Return(true);
            StationRepository.Expect(x => x.IsReady).Return(true);
            StationRepository.Expect(x => x.StationNumber).Return("0024");
            StationRepository.Expect(x => x.HubSettings).Return(new Dictionary <string, string>());
            StationRepository.Currency = "EUR";

            ChangeTracker                           = IoCContainer.Kernel.Get <IChangeTracker>();
            ChangeTracker.CurrentUser               = new AnonymousUser("1", 1);
            ChangeTracker.CurrentUser.Cashpool      = 100000;
            ChangeTracker.CurrentUser.AvailableCash = 100000;


            Dispatcher.Invoke(() =>
            {
                Window = MyRegionManager.FindWindowByViewModel <MainViewModel>();
                Window.Show();
            });

            Thread.Sleep(1000);

            ChangeTracker.CurrentUser = new LoggedInUser(1, "111", 1000)
            {
                Username = "******"
            };

            var header = MyRegionManager.CurrentViewModelInRegion(RegionNames.HeaderRegion) as HeaderViewModel;

            header.OpenAuthorizationCommand.Execute("");

            Thread.Sleep(1000);

            var userProfileMenuViewModel = MyRegionManager.CurrentViewModelInRegion(RegionNames.UserProfileMenuRegion) as UserProfileMenuViewModel;

            var ticket = new UserTicket()
            {
                checkSum = "1234", createdAt = DateTime.Now, ticketNumber = "1241252352346"
            };
            string total;

            WsdlRepository.Expect(x => x.GetUserTickets("1", (ticketCategory)1, new AccountTicketSorting()
            {
                field = AccountTicketSortingFields.DateCreated, value = AccountTicketSortingValues.Desc
            }, 0, 20, out total)).Return(new UserTicket[] { ticket }).OutRef("1000").IgnoreArguments();

            userProfileMenuViewModel.ShowTicketsCommand.Execute("");

            Thread.Sleep(1000);



            Assert.AreEqual(1, ChangeTracker.Tickets.Count);


            var userTicketsViewModel = MyRegionManager.CurrentViewModelInRegion(RegionNames.UserProfileContentRegion) as UserTicketsViewModel;

            Assert.AreEqual(1, userTicketsViewModel.TicketsStartPage);

            Dispatcher.Invoke(() =>
            {
                userTicketsViewModel.SelectedType = userTicketsViewModel.TicketType[3];
            });
            Dispatcher.Invoke(() =>
            {
                userTicketsViewModel.NextPage.Execute("");
            });



            Assert.AreEqual(2, userTicketsViewModel.TicketsStartPage);
            Assert.AreEqual(1, userTicketsViewModel.Tickets.Count);

            if (1000 % userTicketsViewModel.Pagesize > 0)
            {
                Assert.AreEqual(1000 / userTicketsViewModel.Pagesize + 1, userTicketsViewModel.AllPages);
            }

            if (1000 % userTicketsViewModel.Pagesize == 0)
            {
                Assert.AreEqual(1000 / userTicketsViewModel.Pagesize, userTicketsViewModel.AllPages);
            }

            Assert.AreEqual(2, userTicketsViewModel.TicketsStartPage);
            Assert.AreEqual(3, userTicketsViewModel.SelectedType.Id);

            userTicketsViewModel.ShowTicketCommand.Execute(userTicketsViewModel.Tickets[0]);

            var nextModel = MyRegionManager.CurrentViewModelType(RegionNames.UserProfileContentRegion);

            Assert.AreEqual(typeof(TicketDetailsViewModel), nextModel);

            UserProfileViewModel userprofileWindow = null;

            Dispatcher.Invoke(() =>
                              { userprofileWindow = ChangeTracker.UserProfileWindow.DataContext as UserProfileViewModel; });

            WsdlRepository.BackToRecord();

            WsdlRepository.Expect(x => x.GetUserTickets("1", (ticketCategory)1, new AccountTicketSorting()
            {
                field = AccountTicketSortingFields.DateCreated, value = AccountTicketSortingValues.Desc
            }, 0, 20, out total)).Return(new UserTicket[] { ticket, ticket, ticket, ticket }).OutRef("1000").IgnoreArguments();

            WsdlRepository.Replay();
            Dispatcher.Invoke(() =>
                              { userprofileWindow.BackCommand.Execute(""); });

            var prevModel = MyRegionManager.CurrentViewModelInRegion(RegionNames.UserProfileContentRegion);

            Thread.Sleep(1000);

            Assert.AreEqual(4, ((UserTicketsViewModel)prevModel).Tickets.Count);
            Assert.IsTrue(((UserTicketsViewModel)prevModel).AllPages > 0);
            Assert.AreEqual(2, userTicketsViewModel.TicketsStartPage);
            Assert.AreEqual(3, userTicketsViewModel.SelectedType.Id);


            userProfileMenuViewModel.LogoutCommand.Execute("");


            Thread.Sleep(1000);
            WsdlRepository.BackToRecord();
            Dispatcher.Invoke(() =>
            {
                Window.Close();
            });
        }