Ejemplo n.º 1
0
        public void CanGetSingleMemberByID()
        {
            //Arrange
            int id = 1;
            //Act
            CouncilMember singleMem = repo.GetSingleMember(id);

            //Assert
            Assert.AreEqual(1, singleMem.ID);
        }
        public void CanGetSingleMemberByID()
        {
            int           id   = 100;
            CouncilMember dude = new CouncilMember {
                Name = "Bill", ID = 100, Office = "At Large"
            };

            repo.ManuallyAddMember(dude);
            CouncilMember singleMem = repo.GetSingleMember(id);
            int           expected  = dude.ID;

            Assert.AreEqual(expected, singleMem.ID);
        }
Ejemplo n.º 3
0
        public void Initialize()
        {
            mock_context = new Mock <CTrackerContext>();

            mock_members     = new Mock <DbSet <CouncilMember> >();
            mock_member_list = new List <CouncilMember>();
            CouncilMember bogus_council_member = new CouncilMember()
            {
                ID = 1, Name = "Roger"
            };

            mock_member_list.Add(bogus_council_member);

            mock_ords     = new Mock <DbSet <Ordinance> >();
            mock_ord_list = new List <Ordinance>();
            Ordinance bogus_ord = new Ordinance()
            {
                ID = 1, Body = "Bogus Ordinance", OrdNumber = 1, Users = new List <ApplicationUser>()
            };

            mock_ord_list.Add(bogus_ord);


            mock_resolutions = new Mock <DbSet <Resolution> >();
            mock_res_list    = new List <Resolution>();
            Resolution bogus_res = new Resolution()
            {
                ID = 1, Body = "Bogus Resolution", ResNumber = 1, Users = new List <ApplicationUser>()
            };

            mock_res_list.Add(bogus_res);

            mock_app_user       = new Mock <DbSet <ApplicationUser> >();
            mock_app_users_list = new List <ApplicationUser>();
            ApplicationUser bogus_user1 = new ApplicationUser()
            {
                Id = "1", UserName = "******"
            };

            mock_app_users_list.Add(bogus_user1);

            bogus_user1.Ordinances.Add(new Ordinance()
            {
                ID = 2, OrdNumber = 2, Body = "Tracked Ord"
            });
            //bogus_user1.Resolutions.Add(bogus_res);

            repo = new CTrackerRepository(mock_context.Object);
            ConnectToDatastore();
        }
        public void CanGetMembers()
        {
            //Arrange
            CouncilMember mem = new CouncilMember {
                Name = "tobey", ID = 100, Office = "vice mayor"
            };

            //Act
            repo.ManuallyAddMember(mem);
            int expected = 1;
            int actual   = repo.GetMembers().Count();

            //Assert
            Assert.AreEqual(expected, actual);
        }
        public CouncilMember[] seedAtLargeMembers()
        {
            WebClient client = new WebClient();

            CouncilMember[] atLargeMembersArray = new CouncilMember[5];

            for (var i = 1; i < 6; i++)
            {
                CouncilMember atLargeMember = new CouncilMember();
                string        rawHtml       = client.DownloadString($"http://www.nashville.gov/Metro-Council/Metro-Council-Members/At-Large-{i}-Council-Member.aspx");

                string officePattern = @"<h1>(?<office>[A-Za-z0-9\-\s]*)<\/h1>";
                Regex  officeRgx     = new Regex(officePattern);
                Match  officeMatch   = officeRgx.Match(rawHtml);
                string office        = officeMatch.Groups["office"].Value;
                atLargeMember.Office = office;

                string photoPattern = @"<img\ssrc=""\/portals\/0\/SiteContent\/Council\/images\/members\/(?<photo>.*?)""";
                Regex  photoRgx     = new Regex(photoPattern);
                Match  photoMatch   = photoRgx.Match(rawHtml);
                string photo        = photoMatch.Groups["photo"].Value;
                atLargeMember.PhotoURL = "http://www.nashville.gov/portals/0/SiteContent/Council/images/members/" + photo;

                string namePattern = @">(?<name>[A-Za-z0-9\.\'\-\s]*)<\/h2>";
                Regex  nameRgx     = new Regex(namePattern);
                Match  nameMatch   = nameRgx.Match(rawHtml);
                string name        = nameMatch.Groups["name"].Value;
                atLargeMember.Name = name;

                string address = "One Public Square, Suite 204 P.O.Box 196300 Nashville, Tennessee 37219-6300";
                atLargeMember.Address = address;

                string phonePattern = @"(?<phone>\(?[0-9]{3}\)?\-?\s?\.?[0-9]{3}\-?\s?\.?[0-9]{4})";
                Regex  phoneRgx     = new Regex(phonePattern);
                Match  phoneMatch   = phoneRgx.Match(rawHtml);
                string phone        = phoneMatch.Groups["phone"].Value;
                atLargeMember.Phone = phone;

                string emailPattern = @"mailto:(?<email>[A-Za-z]*\.?[A-Za-z]*\.?[A-Za-z]*\.?[A-Za-z]*\[email protected])";
                Regex  emailRgx     = new Regex(emailPattern);
                Match  emailMatch   = emailRgx.Match(rawHtml);
                string email        = emailMatch.Groups["email"].Value;
                atLargeMember.Email = email;

                atLargeMembersArray[i - 1] = atLargeMember;
            }
            return(atLargeMembersArray);
        }
        public CouncilMember seedViceMayor()
        {
            WebClient     client    = new WebClient();
            CouncilMember viceMayor = new CouncilMember();

            string rawHtml = client.DownloadString($"http://www.nashville.gov/Metro-Council/Metro-Council-Members/Vice-Mayor.aspx");

            string officePattern = @"<h1>(?<office>[A-Za-z0-9\-\s]*)<\/h1>";
            Regex  officeRgx     = new Regex(officePattern);
            Match  officeMatch   = officeRgx.Match(rawHtml);
            string office        = officeMatch.Groups["office"].Value;

            viceMayor.Office = office;

            string photoPattern = @"members\/(?<photo>.*?)""";
            Regex  photoRgx     = new Regex(photoPattern);
            Match  photoMatch   = photoRgx.Match(rawHtml);
            string photo        = photoMatch.Groups["photo"].Value;

            viceMayor.PhotoURL = "http://www.nashville.gov/portals/0/SiteContent/Council/images/members/" + photo;

            string namePattern = @">(?<name>[A-Za-z0-9\.\'\-\s]*)<\/h2>";
            Regex  nameRgx     = new Regex(namePattern);
            Match  nameMatch   = nameRgx.Match(rawHtml);
            string name        = nameMatch.Groups["name"].Value;

            viceMayor.Name = name;

            string address = "One Public Square, Suite 204 P.O.Box 196300 Nashville, Tennessee 37219-6300";

            viceMayor.Address = address;

            string phonePattern = @"(?<phone>\(?[0-9]{3}\)?\-?\s?\.?[0-9]{3}\-?\s?\.?[0-9]{4})";
            Regex  phoneRgx     = new Regex(phonePattern);
            Match  phoneMatch   = phoneRgx.Match(rawHtml);
            string phone        = phoneMatch.Groups["phone"].Value;

            viceMayor.Phone = phone;

            string emailPattern = @"mailto:(?<email>[A-Za-z]*\.?[A-Za-z]*\.?[A-Za-z]*\.?[A-Za-z]*\[email protected])";
            Regex  emailRgx     = new Regex(emailPattern);
            Match  emailMatch   = emailRgx.Match(rawHtml);
            string email        = emailMatch.Groups["email"].Value;

            viceMayor.Email = email;

            //string occupationPattern = @"";
            //Regex occupationRgx = new Regex(occupationPattern);
            //MatchCollection occupationMatch = occupationRgx.Matches(rawHtml);
            //List<string> occupation = occupationMatch.Groups["occupation"].Value;
            //viceMayor.Occupation = occupation;

            //string familyPattern = @"";
            //Regex addressRgx = new Regex(addressPattern);
            //Match addressMatch = addressRgx.Match(rawHtml);
            //string address = addressMatch.Groups["name"].Value;
            //viceMayor.Address = address;
            //string educationPattern = @"";
            //Regex addressRgx = new Regex(addressPattern);
            //Match addressMatch = addressRgx.Match(rawHtml);
            //string address = addressMatch.Groups["name"].Value;
            //viceMayor.Address = address;
            //string awardsPattern = @"";
            //Regex addressRgx = new Regex(addressPattern);
            //Match addressMatch = addressRgx.Match(rawHtml);
            //string address = addressMatch.Groups["name"].Value;
            //viceMayor.Address = address;
            //string experiencePattern = @"";
            //Regex addressRgx = new Regex(addressPattern);
            //Match addressMatch = addressRgx.Match(rawHtml);
            //string address = addressMatch.Groups["name"].Value;
            //viceMayor.Address = address;
            //string organizationsPattern = @"";
            //Regex addressRgx = new Regex(addressPattern);
            //Match addressMatch = addressRgx.Match(rawHtml);
            //string address = addressMatch.Groups["name"].Value;
            //viceMayor.Address = address;
            return(viceMayor);
        }
        public CouncilMember GetSingleMember(int id)
        {
            CouncilMember member = Context.Council_Members.FirstOrDefault(c => c.ID == id);

            return(member);
        }
 public void ManuallyAddMember(CouncilMember mem)
 {
     Context.Council_Members.Add(mem);
     Context.SaveChanges();
 }