コード例 #1
0
        public async Task EditGroup_ShouldReturnCorrectTwitterHandleFormat()
        {
            var groupAdmins = new GroupAdministrators();

            groupAdmins.Items.Add(new GroupAdministratorItems()
            {
                Email = "*****@*****.**"
            });


            var group = new Group("name", "slug", "metaDescription", "010101010", "*****@*****.**", "www.website.com",
                                  "https://www.twitter.com/testHandle", "www.facebook.com", "address", "description", "image-url",
                                  "thumnail-url", new List <GroupCategory> {
                new GroupCategory {
                    Name = "testCategory"
                }
            }, new List <GroupSubCategory>(), new List <Crumb>(),
                                  new MapPosition {
                Lat = 100, Lon = 200
            }, false, new List <Event>(), new GroupAdministrators(), DateTime.MinValue,
                                  DateTime.MinValue, "status", new List <string>(), "£1", "ability", false, "volunteer text",
                                  new Organisation(), new List <Group>(), false, "tenaport-link", new List <GroupBranding>(), "aditional-info",
                                  new List <Document>(), DateTime.MinValue, new List <string>(), new List <string>(), "donation-text", "donation-url",
                                  new List <Alert>());

            var loggedInPerson = new LoggedInPerson
            {
                Email = "*****@*****.**"
            };

            _repository.Setup(_ => _.Get <Group>(It.IsAny <string>(), It.IsAny <List <Query> >()))
            .ReturnsAsync(StockportWebapp.Http.HttpResponse.Successful((int)HttpStatusCode.OK, group));
            _groupsService.Setup(_ =>
                                 _.HasGroupPermission(It.IsAny <string>(), It.IsAny <List <GroupAdministratorItems> >(),
                                                      It.IsAny <string>())).Returns(true);
            _markdownWrapper.Setup(_ => _.ConvertToHtml(It.IsAny <string>()));
            _groupsService.Setup(_ => _.GetVolunteeringText(It.IsAny <string>()));
            _groupsService.Setup(_ => _.GetAvailableGroupCategories()).ReturnsAsync(new List <string>());

            // Act
            var view = await _groupController.EditGroup("slug", loggedInPerson) as ViewResult;

            var model = view.ViewData.Model as GroupSubmission;

            Assert.Equal("@testHandle", model.Twitter);
        }
コード例 #2
0
 public ProcessedGroup(string name, string slug, string metaDescription, string phoneNumber, string email, string website, string twitter,
                       string facebook, string address, string description, string imageUrl, string thumbnailImageUrl, List <GroupCategory> categoriesReference, List <GroupSubCategory> subCategories,
                       List <Crumb> breadcrumbs, List <Event> events, GroupAdministrators groupAdministrators, DateTime?dateHiddenFrom, DateTime?dateHiddenTo,
                       List <string> cost, string costText, string abilityLevel, bool favourite, Volunteering volunteering, Organisation organisation, List <Group> linkedGroups, Donations donations,
                       MapDetails mapDetails, string additionalInformation, List <Document> additionalDocuments, string donationsText, string donationsUrl, DateTime?dateLastModified, List <GroupBranding> groupBranding, IEnumerable <Alert> alerts)
 {
     Name                  = name;
     Slug                  = slug;
     MetaDescription       = metaDescription;
     PhoneNumber           = phoneNumber;
     Email                 = email;
     Website               = website;
     Twitter               = twitter;
     Facebook              = facebook;
     Address               = address;
     Description           = description;
     ImageUrl              = imageUrl;
     ThumbnailImageUrl     = thumbnailImageUrl;
     CategoriesReference   = categoriesReference;
     SubCategories         = subCategories;
     Breadcrumbs           = breadcrumbs;
     MapDetails            = mapDetails;
     AdditionalInformation = additionalInformation;
     Volunteering          = volunteering;
     Events                = events;
     GroupAdministrators   = groupAdministrators;
     DateHiddenFrom        = dateHiddenFrom;
     DateHiddenTo          = dateHiddenTo;
     Cost                  = cost;
     CostText              = costText;
     AbilityLevel          = abilityLevel;
     Favourite             = favourite;
     Organisation          = organisation;
     LinkedGroups          = linkedGroups;
     Donations             = donations;
     AdditionalInformation = additionalInformation;
     AdditionalDocuments   = additionalDocuments;
     DonationsText         = donationsText;
     DonationsUrl          = donationsUrl;
     DateLastModified      = dateLastModified;
     GroupBranding         = groupBranding;
     Alerts                = alerts;
 }
コード例 #3
0
        public void ShouldCreateAGroupFromAContentfulGroup()
        {
            // Arrange
            var crumb          = new Crumb("Stockport Local", string.Empty, "groups");
            var category       = new GroupCategory("name", "slug", "icon", "imageUrl");
            var administrators = new GroupAdministrators
            {
                Items = new List <GroupAdministratorItems>
                {
                    new GroupAdministratorItems
                    {
                        Name       = "Name",
                        Email      = "Email",
                        Permission = "admin"
                    }
                }
            };
            var mapPosition = new MapPosition
            {
                Lat = 39,
                Lon = 2
            };
            var subCategories = new List <GroupSubCategory>
            {
                new GroupSubCategory("name", "slug")
            };
            var organisation = new Organisation
            {
                Title = "Org"
            };
            var suitableFor = new List <string>
            {
                "people"
            };
            var document = new DocumentBuilder().Build();

            _documentFactory.Setup(_ => _.ToModel(It.IsAny <Asset>())).Returns(document);
            _contentfulGroupCategoryFactory.Setup(_ => _.ToModel(It.IsAny <ContentfulGroupCategory>()))
            .Returns(category);
            _contentfulGroupSubCategoryFactory.Setup(_ => _.ToModel(It.IsAny <ContentfulGroupSubCategory>()))
            .Returns(subCategories.First());
            _contentfulOrganisationFactory.Setup(_ => _.ToModel(It.IsAny <ContentfulOrganisation>()))
            .Returns(organisation);

            // Act
            var result = _groupContentfulFactory.ToModel(_contentfulGroup);

            // Assert
            result.AbilityLevel.Should().Be("");
            result.AccessibleTransportLink.Should().Be("link");
            result.AdditionalDocuments.Count.Should().Be(1);
            result.AdditionalDocuments.First().Should().BeEquivalentTo(document);
            result.AdditionalInformation.Should().Be("info");
            result.Address.Should().Be("_address");

            result.AgeRange.Count.Should().Be(1);
            result.AgeRange.First().Should().BeEquivalentTo("15-20");

            result.Breadcrumbs.Count.Should().Be(1);
            result.Breadcrumbs.First().Should().BeEquivalentTo(crumb);

            result.CategoriesReference.Count.Should().Be(1);
            result.CategoriesReference.First().Should().BeEquivalentTo(category);

            result.Cost.Count.Should().Be(1);
            result.CostText.Should().Be("");

            result.DateHiddenFrom.Should().Be(DateTime.MinValue);
            result.DateHiddenTo.Should().Be(DateTime.MinValue);
            result.DateLastModified.Should().Be(DateTime.MinValue);

            result.Email.Should().Be("_email");
            result.Description.Should().Be("_description");
            result.Donations.Should().BeFalse();
            result.DonationsText.Should().Be("donText");
            result.DonationsUrl.Should().Be("donUrl");
            result.ImageUrl.Should().Be("image-url.jpg");
            result.GroupAdministrators.Should().BeEquivalentTo(administrators);
            result.MapPosition.Should().BeEquivalentTo(mapPosition);
            result.Name.Should().Be("_name");
            result.Slug.Should().Be("_slug");
            result.PhoneNumber.Should().Be("_phoneNumber");
            result.Website.Should().Be("_website");
            result.Twitter.Should().Be("_twitter");
            result.Facebook.Should().Be("_facebook");
            result.Volunteering.Should().Be(true);
            result.VolunteeringText.Should().Be("text");
            result.SubCategories.Should().BeEquivalentTo(subCategories);
            result.Status.Should().Be("Published");
            result.Organisation.Should().BeEquivalentTo(organisation);
            result.SuitableFor.Should().BeEquivalentTo(suitableFor);
            result.MetaDescription.Should().Be("_metaDescription");
        }
コード例 #4
0
 public ContentfulGroupBuilder GroupAdministrators(GroupAdministrators groupAdministrators)
 {
     _groupAdministrators = groupAdministrators;
     return(this);
 }
コード例 #5
0
 public ProcessedGroupBuilder GroupAdministrators(GroupAdministrators value)
 {
     _groupAdministrators = value;
     return(this);
 }