private void BindPages(FundraisingPageSummaries obj)
 {
     Pages = obj;
     Context = new PagesViewModel(Pages);
     Spinner.Visibility = Visibility.Collapsed;
     pagesTable.Visibility = Visibility.Visible;
 }
 public void Login(string email, string password)
 {
     EmailAddress = email;
     JustGivingPassword = password;
     Authenticated = true;
     Pages = new FundraisingPageSummaries();
 }
 public void Logout()
 {
     OrganisationName = string.Empty;
     EmailAddress = string.Empty;
     JustGivingPassword = string.Empty;
     Authenticated = false;
     Pages = null;
 }
        public void AccountPagesSearch_RetrievesCorrectAccountPages()
        {
            const string searchTerm = "s";
            var model = new FundraisingPageSummaries() { new FundraisingPageSummary() { CharityId = "1", InMemoryPerson = new InMemoryPerson() { FirstName = "Aname", LastName = "Withoutterm" } }, new FundraisingPageSummary() { CharityId = "2", InMemoryPerson = new InMemoryPerson() { FirstName = "firstName", LastName = "lastName" } } };
            _currentUserSession.Setup(s => s.Pages).Returns(model);

            var result = _controller.AccountPagesSearch(searchTerm);

            Assert.That((result), Is.TypeOf<JsonResult>());
        }
 public void UpdatePages(FundraisingPageSummaries fundraisingPageSummaries)
 {
     Pages.Clear();
     foreach (var fundraisingPageSummary in fundraisingPageSummaries)
     {
         if (fundraisingPageSummary.InMemoryPerson != null)
         {
             Pages.Add(fundraisingPageSummary);
         }
     }
 }
        public void GetPages_WithValidEmail_CallsApi()
        {
            const string email = "email";
            var pages = new FundraisingPageSummaries();
            _sdk.Setup(s => s.Account.ListAllPages(email)).Returns(pages);

            var result = _client.GetPages(email);

            Assert.That(result, Is.EqualTo(pages));
            _sdk.Verify(s => s.Account.ListAllPages(email), Times.Once());
        }
        public void GetPagesAsync_WithValidEmail_CallsApi()
        {
            const string email = "email";
            var pages = new FundraisingPageSummaries();
            Action<FundraisingPageSummaries> action = summaries => {};

            _sdk.Setup(s => s.Account.ListAllPagesAsync(email, action));

            _client.GetPagesAsync(email, action);

            _sdk.Verify(s => s.Account.ListAllPagesAsync(email, action), Times.Once());
        }
        public void AccountPages_WhenNoPagesAreStoredInUserSession_RetrievesAccountPages()
        {
            const string email = "email";
            var emptyModel = new FundraisingPageSummaries();
            var model = new FundraisingPageSummaries() { new FundraisingPageSummary() { CharityId = "1"} };

            _currentUserSession.Setup(s => s.EmailAddress).Returns(email);
            _currentUserSession.Setup(s => s.Pages).Returns(emptyModel);

            _apiClient.Setup(s => s.GetPages(email)).Returns(model);

            var result = _controller.AccountPages(0, 5);

            Assert.That((result), Is.TypeOf<JsonResult>());
            _apiClient.Verify(s => s.GetPages(email), Times.Once());
        }
        public void AccountPage_RetrievesPage_ReturnsPageView()
        {
            var model = new FundraisingPageSummaries
            {
                new FundraisingPageSummary
                {
                    CharityId = "1",
                    PageShortName = "aPageShortName",
                    PageImages = new List<string> { "AnImage" },
                    InMemoryPerson =
                        new InMemoryPerson()
                        {
                            FirstName = "firstName",
                            LastName = "lastName",
                            DateOfBirth = new DateTime(),
                            DateOfDeath = new DateTime()
                        }
                }
            };
            _currentUserSession.Setup(x => x.Pages).Returns(model);
            _apiClient.Setup(x => x.GetCharityById(It.IsAny<int>())).Returns(It.IsAny<CharitySearchResult>());

            var result = _controller.AccountPage("aPageShortName");

            Assert.That((result), Is.TypeOf<ViewResult>());
            Assert.That(((ViewResult)result).ViewName, Is.EqualTo("Page"));
            Assert.That(((ViewResult)result).ViewData.Model, Is.TypeOf<PageRegistration>());
        }
        public void AccountPage_WhenPageIsNotFound_ReturnsAccountView()
        {
            var model = new FundraisingPageSummaries();

            _currentUserSession.Setup(x => x.Pages).Returns(model);
            _apiClient.Setup(x => x.GetCharityById(It.IsAny<int>())).Returns(It.IsAny<CharitySearchResult>());

            var result = _controller.AccountPage("aPageShortName");

            Assert.That((result), Is.TypeOf<ViewResult>());
            Assert.That(((ViewResult)result).ViewName, Is.EqualTo("Account"));
        }