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(); }); }
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(); }); }