public async Task UnpinPoll() { // Arrange var viewModel = GetViewModel(); var pollSubmission = new PollSubmissionMock { PollID = new Random().Next(), PollQuestion = Guid.NewGuid().ToString() }; viewModel.PollSubmission = pollSubmission; int actualPollId = -1; SecondaryPinner.UnpinPollDelegate = (frameworkElement, pollId) => { actualPollId = pollId; return true; }; // Act await viewModel.UnpinPoll(null); // Assert Assert.AreEqual(pollSubmission.PollID, actualPollId, "Poll Id"); Assert.IsFalse(viewModel.IsPollPinned, "Is Poll Pinned"); }
public async Task LoadPollAsync() { // Arrange var viewModel = GetViewModel(); var random = new Random(); var principal = new PrincipalMock(); var identity = new UserIdentityMock(); identity.UserID = random.Next(); principal.Identity = identity; Csla.ApplicationContext.User = principal; var pollId = random.Next(); viewModel.Parameter = Serializer.Serialize( new ViewPollPageNavigationCriteria { PollId = pollId }); var pollSubmission = new PollSubmissionMock(); IPollSubmissionCommand actualCommand = null; ObjectFactory.CreateAsyncDelegate = () => new PollSubmissionCommandMock(); ObjectFactory.ExecuteAsyncDelegate = (command) => { actualCommand = command; return new PollSubmissionCommandMock { Submission = pollSubmission }; }; var didNavigate = false; Navigation.NavigateToViewModelWithParameterDelegate = ((type, param) => { didNavigate = true; }); // Act await viewModel.LoadPollAsync(); // Assert Assert.IsFalse(didNavigate, "Did Navigate"); Assert.AreEqual(identity.UserID, actualCommand.UserID, "UserID"); Assert.AreEqual(pollId, actualCommand.PollID, "PollID"); }
public void CanSubmitNotSavable() { // Arrange var viewModel = GetViewModel(); var pollSubmission = new PollSubmissionMock(); pollSubmission.IsActive = true; pollSubmission.IsSavable = false; viewModel.PollSubmission = pollSubmission; // Act // Assert Assert.IsFalse(viewModel.CanSubmit); }
public void PollSubmission() { // Arrange var viewModel = GetViewModel(); var pollSubmission = new PollSubmissionMock(); // Act viewModel.PropertyChanged += OnPropertyChanged; viewModel.PollSubmission = pollSubmission; viewModel.PropertyChanged -= OnPropertyChanged; // Assert Assert.AreSame(pollSubmission, viewModel.PollSubmission, "Poll Submission"); Assert.IsTrue(PropertiesChanged.Contains("PollSubmission"), "Property Changed"); }
public async Task SubmitWithError() { // Arrange var viewModel = GetViewModel(); var random = new Random(); var pollSubmission = new PollSubmissionMock { PollID = random.Next() }; viewModel.PollSubmission = pollSubmission; pollSubmission.SaveAsyncDelegate = () => { throw new DataPortalException(null, pollSubmission); }; var wasMessageBoxShown = false; MessageBox.ShowAsyncWithTitleDelegate = (message, title, buttons) => { wasMessageBoxShown = true; return true; }; // Act await viewModel.Submit(); // Assert Assert.IsTrue(wasMessageBoxShown, "Was Message Box Shown"); }
public async Task Submit() { // Arrange var viewModel = GetViewModel(); var random = new Random(); var pollSubmission = new PollSubmissionMock { PollID = random.Next() }; viewModel.PollSubmission = pollSubmission; Type actualType = null; PollResultsPageNavigationCriteria actualParam = null; Navigation.NavigateToViewModelAndRemoveCurrentWithParameterDelegate = ((type, param) => { actualType = type; actualParam = (PollResultsPageNavigationCriteria)param; }); // Act await viewModel.Submit(); // Assert Assert.AreEqual(typeof(PollResultsPageViewModel), actualType, "Navigation Type"); Assert.AreEqual(pollSubmission.PollID, actualParam.PollId, "Poll Id"); }
public async Task SharePoll() { // Arrange var viewModel = GetViewModel(); var random = new Random(); var principal = new PrincipalMock(); var identity = new UserIdentityMock(); identity.UserID = random.Next(); principal.Identity = identity; Csla.ApplicationContext.User = principal; var pollId = random.Next(); var pollSubmission = new PollSubmissionMock { PollID = pollId }; ObjectFactory.CreateAsyncDelegate = () => new PollSubmissionCommandMock(); ObjectFactory.ExecuteAsyncDelegate = (command) => { return new PollSubmissionCommandMock { Submission = pollSubmission }; }; var wasShareManagerInitialized = false; ShareManager.InitializeDelegate = () => { wasShareManagerInitialized = true; }; viewModel.Parameter = Serializer.Serialize( new ViewPollPageNavigationCriteria { PollId = pollId }); await viewModel.LoadPollAsync(); ((IActivate)viewModel).Activate(); var dataPackage = new DataPackage(); var dataPackageView = dataPackage.GetView(); // Act ShareManager.ExecuteShareRequested(dataPackage); // Assert Assert.IsTrue(wasShareManagerInitialized, "Was Share Manager Initialized"); Assert.IsTrue(!string.IsNullOrEmpty(await dataPackageView.GetTextAsync()), "Text Exists"); Assert.AreEqual(string.Format("myvote://poll/{0}", pollId), (await dataPackageView.GetApplicationLinkAsync()).ToString(), "Uri"); Assert.IsTrue(!string.IsNullOrEmpty(await dataPackageView.GetHtmlFormatAsync()), "HTML Exists"); }