public async Task SharePoll() { // Arrange var viewModel = GetViewModel(); var random = new Random(); var pollId = random.Next(); var pollDataResults = new PollDataResultsMock { PollID = pollId, Question = Guid.NewGuid().ToString() }; pollDataResults.ResultsDelegate = () => { return new ReadOnlyListBaseCoreMock<IPollDataResult>(new List<IPollDataResult>()); }; var pollResults = new PollResultsMock { PollID = pollId, PollDataResults = pollDataResults }; Csla.ApplicationContext.User = new PrincipalMock { Identity = new UserIdentityMock { UserID = random.Next() } }; int actualPollId = -1; ObjectFactory.FetchAsyncWithCriteriaDelegate = (criteria) => { actualPollId = ((PollResultsCriteria)criteria).PollID; return pollResults; }; var wasShareManagerInitialized = false; ShareManager.InitializeDelegate = () => { wasShareManagerInitialized = true; }; viewModel.Parameter = Serializer.Serialize( new PollResultsPageNavigationCriteria { 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.AreEqual(pollId, actualPollId, "Actual Poll Id"); 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"); }
public async Task UnpinPoll() { // Arrange var viewModel = GetViewModel(); var random = new Random(); var pollDataResults = new PollDataResultsMock { PollID = random.Next(), Question = Guid.NewGuid().ToString() }; pollDataResults.ResultsDelegate = () => { return new ReadOnlyListBaseCoreMock<IPollDataResult>( new List<IPollDataResult> { new PollDataResultMock { ResponseCount = random.Next() } }); }; var pollResults = new PollResultsMock { PollID = pollDataResults.PollID, PollDataResults = pollDataResults }; viewModel.PollResults = pollResults; int actualPollId = -1; SecondaryPinner.UnpinPollDelegate = (frameworkElement, pollId) => { actualPollId = pollId; return true; }; // Act await viewModel.UnpinPoll(null); // Assert Assert.AreEqual(pollDataResults.PollID, actualPollId, "Poll Id"); Assert.IsFalse(viewModel.IsPollPinned, "Is Poll Pinned"); }