def _setup_data(self): one_day = timedelta(days=1) self.future_date = date.today() + one_day london_assembly = ParliamentaryChamberExtraFactory.create( slug='london-assembly', base__name='London Assembly') election_lac = ElectionFactory.create( slug='gla.c.2016-05-05', organization=london_assembly.base, name='2016 London Assembly Election (Constituencies)', election_date=self.future_date.isoformat(), ) self.election_gla = ElectionFactory.create( slug='gla.a.2016-05-05', organization=london_assembly.base, name='2016 London Assembly Election (Additional)', election_date=self.future_date.isoformat(), ) PostExtraFactory.create( elections=(election_lac, ), base__organization=london_assembly.base, slug='lambeth-and-southwark', base__label='Assembly Member for Lambeth and Southwark', ) self.post_extra = PostExtraFactory.create( elections=(self.election_gla, ), base__organization=london_assembly.base, slug='london', base__label='Assembly Member', )
def _setup_data(self): one_day = timedelta(days=1) self.future_date = date.today() + one_day london_assembly = ParliamentaryChamberFactory.create( slug="london-assembly", name="London Assembly") election_lac = ElectionFactory.create( slug="gla.c.2016-05-05", organization=london_assembly, name="2016 London Assembly Election (Constituencies)", election_date=self.future_date.isoformat(), ) self.election_gla = ElectionFactory.create( slug="gla.a.2016-05-05", organization=london_assembly, name="2016 London Assembly Election (Additional)", election_date=self.future_date.isoformat(), ) PostFactory.create( elections=(election_lac, ), organization=london_assembly, slug="lambeth-and-southwark", label="Assembly Member for Lambeth and Southwark", ) self.post = PostFactory.create( elections=(self.election_gla, ), organization=london_assembly, slug="london", label="Assembly Member", )
def _setup_extra_posts(self): # Create some extra posts and areas: london_assembly = ParliamentaryChamberExtraFactory.create( slug='london-assembly', base__name='London Assembly') election_lac = ElectionFactory.create( slug='gla.c.2016-05-05', organization=london_assembly.base, name='2016 London Assembly Election (Constituencies)', ) election_gla = ElectionFactory.create( slug='gla.a.2016-05-05', organization=london_assembly.base, name='2016 London Assembly Election (Additional)', ) PostExtraFactory.create( elections=(election_lac, ), base__organization=london_assembly.base, slug='lambeth-and-southwark', base__label='Assembly Member for Lambeth and Southwark', ) PostExtraFactory.create( elections=(election_gla, ), base__organization=london_assembly.base, slug='london', base__label='2016 London Assembly Election (Additional)', )
def setUp(self): wmc_area_type = AreaTypeFactory.create() lac_area_type = AreaTypeFactory.create(name='LAC') gb_parties = PartySetFactory.create(slug='gb', name='Great Britain') commons = ParliamentaryChamberExtraFactory.create() lac = ParliamentaryChamberExtraFactory.create(slug='lac') election = ElectionFactory.create( slug='2015', name='2015 General Election', area_types=(wmc_area_type,), organization=commons.base ) election2 = ElectionFactory.create( slug='2015-secondary', name='2015 Secondary Election', area_types=(lac_area_type,), organization=lac.base ) area_extra = AreaExtraFactory.create( base__name="Westminster", type=wmc_area_type, ) PostExtraFactory.create( elections=(election,), base__organization=commons.base, slug='65759', base__label='Member of Parliament for Westminster', party_set=gb_parties, base__area=area_extra.base, ) area_extra = AreaExtraFactory.create( base__name="Dulwich and West Norwood", type=wmc_area_type, ) PostExtraFactory.create( elections=(election,), base__organization=commons.base, slug='65808', base__label='Member of Parliament for Dulwich and West Norwood', party_set=gb_parties, base__area=area_extra.base, ) area_extra = AreaExtraFactory.create( base__name="Lambeth and Southwark", type=lac_area_type, ) PostExtraFactory.create( elections=(election2,), base__organization=commons.base, slug='11822', base__label='London Assembly Member for Lambeth and Southwark', party_set=gb_parties, base__area=area_extra.base, )
def _setup_extra_posts(self): # Create some extra posts and areas: london_assembly = ParliamentaryChamberFactory.create( slug="london-assembly", name="London Assembly") election_lac = ElectionFactory.create( slug="gla.c.2016-05-05", organization=london_assembly, name="2016 London Assembly Election (Constituencies)", ) election_gla = ElectionFactory.create( slug="gla.a.2016-05-05", organization=london_assembly, name="2016 London Assembly Election (Additional)", ) PostFactory.create( elections=(election_lac, ), organization=london_assembly, slug="lambeth-and-southwark", label="Assembly Member for Lambeth and Southwark", ) PostFactory.create( elections=(election_gla, ), organization=london_assembly, slug="london", label="2016 London Assembly Election (Additional)", )
def test_valid_postcode_redirects_to_multiple_areas(self, mock_requests): mock_requests.get.side_effect = fake_requests_for_every_election # Create some extra posts and areas: london_assembly = ParliamentaryChamberExtraFactory.create( slug='london-assembly', base__name='London Assembly') lac_area_type = AreaTypeFactory.create(name='LAC') gla_area_type = AreaTypeFactory.create(name='GLA') area_extra_lac = AreaExtraFactory.create( base__identifier='gss:E32000010', base__name="Dulwich and West Norwood", type=lac_area_type, ) area_extra_gla = AreaExtraFactory.create( base__identifier='unit_id:41441', base__name='Greater London Authority', type=gla_area_type, ) election_lac = ElectionFactory.create( slug='gb-gla-2016-05-05-c', organization=london_assembly.base, name='2016 London Assembly Election (Constituencies)', area_types=(lac_area_type, ), ) election_gla = ElectionFactory.create( slug='gb-gla-2016-05-05-a', organization=london_assembly.base, name='2016 London Assembly Election (Additional)', area_types=(gla_area_type, ), ) PostExtraFactory.create( elections=(election_lac, ), base__area=area_extra_lac.base, base__organization=london_assembly.base, slug='11822', base__label='Assembly Member for Lambeth and Southwark', ) PostExtraFactory.create( elections=(election_gla, ), base__area=area_extra_gla.base, base__organization=london_assembly.base, slug='2247', base__label='2016 London Assembly Election (Additional)', ) # ---------------------------- response = self.app.get('/') form = response.forms['form-postcode'] form['q'] = 'SE24 0AG' response = form.submit() self.assertEqual(response.status_code, 302) split_location = urlsplit(response.location) self.assertEqual(split_location.path, '/') self.assertEqual(split_location.query, 'q=SE24%200AG') response = self.app.get(response.location) split_location = urlsplit(response.location) self.assertEqual( split_location.path, '/areas/GLA--unit_id:41441,LAC--gss:E32000010,WMC--gss:E14000673', )
def test_valid_postcode_redirects_to_multiple_areas(self, mock_requests): mock_requests.get.side_effect = fake_requests_for_mapit # Create some extra posts and areas: london_assembly = ParliamentaryChamberExtraFactory.create( slug='london-assembly', base__name='London Assembly' ) lac_area_type = AreaTypeFactory.create(name='LAC') gla_area_type = AreaTypeFactory.create(name='GLA') area_extra_lac = AreaExtraFactory.create( base__identifier='11822', base__name="Dulwich and West Norwood", type=lac_area_type, ) area_extra_gla = AreaExtraFactory.create( base__identifier='2247', base__name='Greater London Authority', type=gla_area_type, ) election_lac = ElectionFactory.create( slug='gb-gla-2016-05-05-c', organization=london_assembly.base, name='2016 London Assembly Election (Constituencies)', area_types=(lac_area_type,), ) election_gla = ElectionFactory.create( slug='gb-gla-2016-05-05-a', organization=london_assembly.base, name='2016 London Assembly Election (Additional)', area_types=(gla_area_type,), ) PostExtraFactory.create( elections=(election_lac,), base__area=area_extra_lac.base, base__organization=london_assembly.base, slug='11822', base__label='Assembly Member for Lambeth and Southwark', ) PostExtraFactory.create( elections=(election_gla,), base__area=area_extra_gla.base, base__organization=london_assembly.base, slug='2247', base__label='2016 London Assembly Election (Additional)', ) # ---------------------------- response = self.app.get('/') form = response.forms['form-postcode'] form['postcode'] = 'SE24 0AG' response = form.submit() self.assertEqual(response.status_code, 302) split_location = urlsplit(response.location) self.assertEqual( split_location.path, '/areas/LAC-11822,GLA-2247,WMC-65808', )
def setUp(self): super(TestConstituencyPostcodeFinderView, self).setUp() wmc_area_type = AreaTypeFactory.create() gb_parties = PartySetFactory.create(slug='gb', name='Great Britain') commons = ParliamentaryChamberFactory.create() election = ElectionFactory.create( slug='2015', name='2015 General Election', area_types=(wmc_area_type,), organization=commons, ) area_extra = AreaExtraFactory.create( base__name="Dulwich and West Norwood", base__identifier='gss:E14000673', type=wmc_area_type, ) self.area = area_extra.base PostExtraFactory.create( elections=(election,), base__organization=commons, slug='65808', base__label='Member of Parliament for Dulwich and West Norwood', party_set=gb_parties, base__area=area_extra.base, )
def setUp(self): super(TestConstituencyPostcodeFinderView, self).setUp() wmc_area_type = AreaTypeFactory.create() gb_parties = PartySetFactory.create(slug='gb', name='Great Britain') commons = ParliamentaryChamberFactory.create() election = ElectionFactory.create( slug='2015', name='2015 General Election', area_types=(wmc_area_type, ), organization=commons, ) area_extra = AreaExtraFactory.create( base__name="Dulwich and West Norwood", base__identifier='gss:E14000673', type=wmc_area_type, ) self.area = area_extra.base PostExtraFactory.create( elections=(election, ), base__organization=commons, slug='65808', base__label='Member of Parliament for Dulwich and West Norwood', party_set=gb_parties, base__area=area_extra.base, )
def setUp(self): org = ParliamentaryChamberExtraFactory.create() self.election = ElectionFactory.create(slug='2015', name='2015 Election', election_date=date.today(), organization=org.base)
def test_valid_postcode_redirects_to_multiple_areas(self, mock_requests): mock_requests.get.side_effect = fake_requests_for_mapit # Create some extra posts and areas: london_assembly = ParliamentaryChamberExtraFactory.create(slug="london-assembly", base__name="London Assembly") lac_area_type = AreaTypeFactory.create(name="LAC") gla_area_type = AreaTypeFactory.create(name="GLA") area_extra_lac = AreaExtraFactory.create( base__identifier="gss:E32000010", base__name="Dulwich and West Norwood", type=lac_area_type ) area_extra_gla = AreaExtraFactory.create( base__identifier="unit_id:41441", base__name="Greater London Authority", type=gla_area_type ) election_lac = ElectionFactory.create( slug="gb-gla-2016-05-05-c", organization=london_assembly.base, name="2016 London Assembly Election (Constituencies)", area_types=(lac_area_type,), ) election_gla = ElectionFactory.create( slug="gb-gla-2016-05-05-a", organization=london_assembly.base, name="2016 London Assembly Election (Additional)", area_types=(gla_area_type,), ) PostExtraFactory.create( elections=(election_lac,), base__area=area_extra_lac.base, base__organization=london_assembly.base, slug="11822", base__label="Assembly Member for Lambeth and Southwark", ) PostExtraFactory.create( elections=(election_gla,), base__area=area_extra_gla.base, base__organization=london_assembly.base, slug="2247", base__label="2016 London Assembly Election (Additional)", ) # ---------------------------- response = self.app.get("/") form = response.forms["form-postcode"] form["postcode"] = "SE24 0AG" response = form.submit() self.assertEqual(response.status_code, 302) split_location = urlsplit(response.location) self.assertEqual(split_location.path, "/areas/GLA-unit_id:41441,LAC-gss:E32000010,WMC-gss:E14000673")
def setUp(self): area_type = AreaTypeFactory.create() org = ParliamentaryChamberExtraFactory.create() self.election = ElectionFactory.create(slug='cr-2015', name='2015 Election', area_types=(area_type, ), organization=org.base)
def create_election(self, election_name, date=None): kwargs = {"name": election_name} if date: kwargs["election_date"] = date else: kwargs["election_date"] = date_in_near_future return ElectionFactory(**kwargs)
def _setup_data(self): one_day = timedelta(days=1) self.future_date = date.today() + one_day london_assembly = ParliamentaryChamberExtraFactory.create( slug='london-assembly', base__name='London Assembly') lac_area_type = AreaTypeFactory.create(name='LAC') gla_area_type = AreaTypeFactory.create(name='GLA') area_extra_lac = AreaExtraFactory.create( base__identifier='gss:E32000010', base__name="Dulwich and West Norwood", type=lac_area_type, ) area_extra_gla = AreaExtraFactory.create( base__identifier='unit_id:41441', base__name='Greater London Authority', type=gla_area_type, ) election_lac = ElectionFactory.create( slug='gb-gla-2016-05-05-c', organization=london_assembly.base, name='2016 London Assembly Election (Constituencies)', election_date=self.future_date.isoformat(), area_types=(lac_area_type, ), ) self.election_gla = ElectionFactory.create( slug='gb-gla-2016-05-05-a', organization=london_assembly.base, name='2016 London Assembly Election (Additional)', election_date=self.future_date.isoformat(), area_types=(gla_area_type, ), ) PostExtraFactory.create( elections=(election_lac, ), base__area=area_extra_lac.base, base__organization=london_assembly.base, slug='gss:E32000010', base__label='Assembly Member for Lambeth and Southwark', ) self.post_extra = PostExtraFactory.create( elections=(self.election_gla, ), base__area=area_extra_gla.base, base__organization=london_assembly.base, slug='unit_id:41441', base__label='Assembly Member', )
def setUp(self): org = ParliamentaryChamberFactory.create() self.election = ElectionFactory.create( slug="2015", name="2015 Election", election_date=date.today(), organization=org, )
def test_valid_postcode_redirects_to_only_real_areas(self, mock_requests): mock_requests.get.side_effect = fake_requests_for_mapit # Create some extra posts and areas: london_assembly = ParliamentaryChamberExtraFactory.create( slug='london-assembly', base__name='London Assembly' ) lac_area_type = AreaTypeFactory.create(name='LAC') gla_area_type = AreaTypeFactory.create(name='GLA') area_extra_gla = AreaExtraFactory.create( base__identifier='unit_id:41441', base__name='Greater London Authority', type=gla_area_type, ) ElectionFactory.create( slug='gb-gla-2016-05-05-c', organization=london_assembly.base, name='2016 London Assembly Election (Constituencies)', area_types=(lac_area_type,), ) election_gla = ElectionFactory.create( slug='gb-gla-2016-05-05-a', organization=london_assembly.base, name='2016 London Assembly Election (Additional)', area_types=(gla_area_type,), ) PostExtraFactory.create( elections=(election_gla,), base__area=area_extra_gla.base, base__organization=london_assembly.base, slug='2247', base__label='2016 London Assembly Election (Additional)', ) # ---------------------------- response = self.app.get('/') form = response.forms['form-postcode'] form['postcode'] = 'SE24 0AG' response = form.submit() self.assertEqual(response.status_code, 302) split_location = urlsplit(response.location) self.assertEqual( split_location.path, '/areas/GLA-unit_id:41441,WMC-gss:E14000673', )
def setUp(self): area_type = AreaTypeFactory.create() org = ParliamentaryChamberExtraFactory.create() self.election = ElectionFactory.create( slug='cr-2015', name='2015 Election', area_types=(area_type,), organization=org.base )
def setUp(self): election = ElectionFactory.create(slug="2015", name="2015 General Election") commons = ParliamentaryChamberFactory.create() self.post = PostFactory.create( elections=(election, ), organization=commons, slug="65808", label="Member of Parliament for Dulwich and West Norwood", )
def test_valid_postcode_redirects_to_only_real_areas(self, mock_requests): mock_requests.get.side_effect = fake_requests_for_mapit # Create some extra posts and areas: london_assembly = ParliamentaryChamberExtraFactory.create( slug='london-assembly', base__name='London Assembly') lac_area_type = AreaTypeFactory.create(name='LAC') gla_area_type = AreaTypeFactory.create(name='GLA') area_extra_gla = AreaExtraFactory.create( base__identifier='unit_id:41441', base__name='Greater London Authority', type=gla_area_type, ) ElectionFactory.create( slug='gb-gla-2016-05-05-c', organization=london_assembly.base, name='2016 London Assembly Election (Constituencies)', area_types=(lac_area_type, ), ) election_gla = ElectionFactory.create( slug='gb-gla-2016-05-05-a', organization=london_assembly.base, name='2016 London Assembly Election (Additional)', area_types=(gla_area_type, ), ) PostExtraFactory.create( elections=(election_gla, ), base__area=area_extra_gla.base, base__organization=london_assembly.base, slug='2247', base__label='2016 London Assembly Election (Additional)', ) # ---------------------------- response = self.app.get('/') form = response.forms['form-postcode'] form['postcode'] = 'SE24 0AG' response = form.submit() self.assertEqual(response.status_code, 302) split_location = urlsplit(response.location) self.assertEqual( split_location.path, '/areas/GLA-unit_id:41441,WMC-gss:E14000673', )
def setUp(self): election = ElectionFactory.create(slug="parl.2015-05-07", name="2015 General Election") commons = ParliamentaryChamberFactory.create() self.post = PostFactory.create( elections=(election, ), organization=commons, slug="dulwich-and-west-norwood", label="Member of Parliament for Dulwich and West Norwood", ) self.ballot = self.post.ballot_set.get()
def setUp(self): wmc_area_type = AreaTypeFactory.create() election = ElectionFactory.create(slug='2015', name='2015 General Election', area_types=(wmc_area_type, )) commons = ParliamentaryChamberFactory.create() self.post = PostExtraFactory.create( elections=(election, ), base__organization=commons, slug='65808', base__label='Member of Parliament for Dulwich and West Norwood')
def setUp(self): gb_parties = PartySetFactory.create(slug="gb", name="Great Britain") self.election = ElectionFactory.create( slug="parl.2015-05-07", name="2015 General Election", current=True ) commons = ParliamentaryChamberFactory.create() self.post = PostFactory.create( elections=(self.election,), organization=commons, slug="dulwich-and-west-norwood", label="Member of Parliament for Dulwich and West Norwood", party_set=gb_parties, ) self.ballot = self.post.ballot_set.get(election=self.election)
def setUp(self): wmc_area_type = AreaTypeFactory.create() election = ElectionFactory.create( slug='2015', name='2015 General Election', area_types=(wmc_area_type,) ) commons = ParliamentaryChamberFactory.create() self.post = PostExtraFactory.create( elections=(election,), base__organization=commons, slug='65808', base__label='Member of Parliament for Dulwich and West Norwood' )
def setUp(self): gb_parties = PartySetFactory.create(slug='gb', name='Great Britain') election = ElectionFactory.create( slug='2015', name='2015 General Election', current=True, ) commons = ParliamentaryChamberFactory.create() self.post_extra = PostExtraFactory.create( elections=(election, ), base__organization=commons, slug='65808', base__label='Member of Parliament for Dulwich and West Norwood', party_set=gb_parties, )
def setUp(self): super(TestModels, self).setUp() wmc_area_type = AreaTypeFactory.create() gb_parties = PartySetFactory.create(slug='gb', name='Great Britain') election = ElectionFactory.create(slug='2015', name='2015 General Election', area_types=(wmc_area_type, )) commons = ParliamentaryChamberFactory.create() self.post_extra = PostExtraFactory.create( elections=(election, ), base__organization=commons, slug='65808', base__label='Member of Parliament for Dulwich and West Norwood', party_set=gb_parties, )
def setUp(self): gb_parties = PartySetFactory.create(slug='gb', name='Great Britain') commons = ParliamentaryChamberFactory.create() election = ElectionFactory.create( slug='parl.2017-03-23', name='2015 General Election', organization=commons, election_date="2017-03-23", ) PostExtraFactory.create( elections=(election, ), base__organization=commons, slug='dulwich-and-west-norwood', base__label='Member of Parliament for Dulwich and West Norwood', party_set=gb_parties, )
def setUp(self): gb_parties = PartySetFactory.create(slug="gb", name="Great Britain") commons = ParliamentaryChamberFactory.create() election = ElectionFactory.create( slug="parl.2017-03-23", name="2015 General Election", organization=commons, election_date="2017-03-23", ) PostFactory.create( elections=(election, ), organization=commons, slug="dulwich-and-west-norwood", label="Member of Parliament for Dulwich and West Norwood", party_set=gb_parties, )
def setUp(self): super(TestModels, self).setUp() wmc_area_type = AreaTypeFactory.create() gb_parties = PartySetFactory.create(slug='gb', name='Great Britain') election = ElectionFactory.create( slug='2015', name='2015 General Election', area_types=(wmc_area_type,) ) commons = ParliamentaryChamberFactory.create() self.post_extra = PostExtraFactory.create( elections=(election,), base__organization=commons, slug='65808', base__label='Member of Parliament for Dulwich and West Norwood', party_set=gb_parties, )
def setUp(self): wmc_area_type = AreaTypeFactory.create() self.election = ElectionFactory.create( slug='2015', name='2015 General Election', area_types=(wmc_area_type,) ) commons = ParliamentaryChamberFactory.create() self.post_extra = PostExtraFactory.create( elections=(self.election,), base__organization=commons, slug='65808', base__label='Member of Parliament for Dulwich and West Norwood' ) PartyExtraFactory.reset_sequence() PartyFactory.reset_sequence() self.parties = {} for i in xrange(0, 4): party_extra = PartyExtraFactory.create() self.parties[party_extra.slug] = party_extra person_extra = PersonExtraFactory.create( base__id='2009', base__name='Tessa Jowell' ) CandidacyExtraFactory.create( election=self.election, base__person=person_extra.base, base__post=self.post_extra.base, base__on_behalf_of=self.parties['party:63'].base ) person_extra = PersonExtraFactory.create( base__id='2010', base__name='Andrew Smith', base__email='*****@*****.**', ) CandidacyExtraFactory.create( election=self.election, base__person=person_extra.base, base__post=self.post_extra.base, base__on_behalf_of=self.parties['party:63'].base )
def setUp(self): wmc_area_type = AreaTypeFactory.create() gb_parties = PartySetFactory.create(slug="gb", name="Great Britain") commons = ParliamentaryChamberFactory.create() election = ElectionFactory.create( slug="2015", name="2015 General Election", area_types=(wmc_area_type,), organization=commons ) area_extra = AreaExtraFactory.create( base__name="Dulwich and West Norwood", base__identifier="gss:E14000673", type=wmc_area_type ) self.area = area_extra.base PostExtraFactory.create( elections=(election,), base__organization=commons, slug="65808", base__label="Member of Parliament for Dulwich and West Norwood", party_set=gb_parties, base__area=area_extra.base, )
def setUp(self): wmc_area_type = AreaTypeFactory.create() gb_parties = PartySetFactory.create(slug='gb', name='Great Britain') commons = ParliamentaryChamberFactory.create() election = ElectionFactory.create(slug='2015', name='2015 General Election', area_types=(wmc_area_type, ), organization=commons) area_extra = AreaExtraFactory.create( base__name="Dulwich and West Norwood", type=wmc_area_type, ) self.area = area_extra.base PostExtraFactory.create( elections=(election, ), base__organization=commons, slug='65808', base__label='Member of Parliament for Dulwich and West Norwood', party_set=gb_parties, base__area=area_extra.base, )
def setUp(self): super(TestGeolocator, self).setUp() lac_area_type = AreaTypeFactory.create(name='LAC') lac = ParliamentaryChamberExtraFactory.create(slug='lac') election2 = ElectionFactory.create( slug='2015-secondary', name='2015 Secondary Election', area_types=(lac_area_type,), organization=lac.base ) area_extra = AreaExtraFactory.create( base__name="Westminster", type=self.wmc_area_type, ) PostExtraFactory.create( elections=(self.election,), base__organization=self.commons, slug='65759', base__label='Member of Parliament for Westminster', party_set=self.gb_parties, base__area=area_extra.base, ) area_extra = AreaExtraFactory.create( base__name="Lambeth and Southwark", type=lac_area_type, ) PostExtraFactory.create( elections=(election2,), base__organization=self.commons, slug='11822', base__label='London Assembly Member for Lambeth and Southwark', party_set=self.gb_parties, base__area=area_extra.base, )
def setUp(self): wmc_area_type = AreaTypeFactory.create() self.election = ElectionFactory.create(slug='2015', name='2015 General Election', area_types=(wmc_area_type, )) commons = ParliamentaryChamberFactory.create() self.post_extra = PostExtraFactory.create( elections=(self.election, ), base__organization=commons, slug='65808', base__label='Member of Parliament for Dulwich and West Norwood') PartyExtraFactory.reset_sequence() PartyFactory.reset_sequence() self.parties = {} for i in range(0, 4): party_extra = PartyExtraFactory.create() self.parties[party_extra.slug] = party_extra person_extra = PersonExtraFactory.create(base__id='2009', base__name='Tessa Jowell') CandidacyExtraFactory.create( election=self.election, base__person=person_extra.base, base__post=self.post_extra.base, base__on_behalf_of=self.parties['party:63'].base) person_extra = PersonExtraFactory.create( base__id='2010', base__name='Andrew Smith', base__email='*****@*****.**', ) CandidacyExtraFactory.create( election=self.election, base__person=person_extra.base, base__post=self.post_extra.base, base__on_behalf_of=self.parties['party:63'].base)
def setUp(self): wmc_area_type = AreaTypeFactory.create() gb_parties = PartySetFactory.create(slug='gb', name='Great Britain') commons = ParliamentaryChamberFactory.create() election = ElectionFactory.create( slug='2015', name='2015 General Election', area_types=(wmc_area_type,), organization=commons ) area_extra = AreaExtraFactory.create( base__name="Dulwich and West Norwood", type=wmc_area_type, ) self.area = area_extra.base PostExtraFactory.create( elections=(election,), base__organization=commons, slug='65808', base__label='Member of Parliament for Dulwich and West Norwood', party_set=gb_parties, base__area=area_extra.base, )
def test_person_update_election_future_not_current(self): future_election = ElectionFactory(election_date="2050-01-01", slug="parl.2050-01-01", current=False) ballot = BallotPaperFactory( election=future_election, post=self.dulwich_post, ballot_paper_id="parl.foo.2050-01-01", ) self.person.memberships.create(ballot=ballot, post=self.dulwich_post, party=self.green_party) response = self.app.get("/person/{}/update/".format(self.person.pk), user=self.user) self.assertEqual(response.status_code, 200) self.assertEqual( set(response.context["form"].initial.keys()), { "honorific_prefix", "name", "honorific_suffix", "gender", "birth_date", "death_date", "biography", "favourite_biscuit", "standing_parl.2015-05-07", "constituency_parl.2015-05-07", "party_GB_parl.2015-05-07", "standing_parl.2050-01-01", "constituency_parl.2050-01-01", "party_GB_parl.2050-01-01", "person", }, )
def setUp(self): super(TestGeolocator, self).setUp() lac_area_type = AreaTypeFactory.create(name='LAC') lac = ParliamentaryChamberExtraFactory.create(slug='lac') election2 = ElectionFactory.create(slug='2015-secondary', name='2015 Secondary Election', area_types=(lac_area_type, ), organization=lac.base) area_extra = AreaExtraFactory.create( base__name="Westminster", type=self.wmc_area_type, ) PostExtraFactory.create( elections=(self.election, ), base__organization=self.commons, slug='65759', base__label='Member of Parliament for Westminster', party_set=self.gb_parties, base__area=area_extra.base, ) area_extra = AreaExtraFactory.create( base__name="Lambeth and Southwark", type=lac_area_type, ) PostExtraFactory.create( elections=(election2, ), base__organization=self.commons, slug='11822', base__label='London Assembly Member for Lambeth and Southwark', party_set=self.gb_parties, base__area=area_extra.base, )
def test_results_for_candidates_for_postcode(self, mock_requests): one_day = timedelta(days=1) self.future_date = date.today() + one_day london_assembly = ParliamentaryChamberFactory.create( slug="london-assembly", name="London Assembly" ) election_lac = ElectionFactory.create( slug="gla.c.2016-05-05", organization=london_assembly, name="2016 London Assembly Election (Constituencies)", election_date=self.future_date.isoformat(), ) self.election_gla = ElectionFactory.create( slug="gla.a.2016-05-05", organization=london_assembly, name="2016 London Assembly Election (Additional)", election_date=self.future_date.isoformat(), ) PostFactory.create( elections=(election_lac,), organization=london_assembly, slug="lambeth-and-southwark", label="Assembly Member for Lambeth and Southwark", ) self.post = PostFactory.create( elections=(self.election_gla,), organization=london_assembly, slug="london", label="Assembly Member", ) self.person.memberships.all().delete() MembershipFactory.create( person=self.person, post=self.post, party=self.labour_party, post_election=self.election_gla.postextraelection_set.get( post=self.post ), ) membership_pk = self.person.memberships.first().pk self.maxDiff = None mock_requests.get.side_effect = fake_requests_for_every_election response = self.app.get( "/api/next/candidates_for_postcode/?postcode=SE24+0AG" ) output = response.json self.assertEqual(len(output), 2) expected = [ { "candidates": [], "election_date": self.future_date.isoformat(), "election_id": "gla.c.2016-05-05", "election_name": "2016 London Assembly Election (Constituencies)", "organization": "London Assembly", "post": { "post_candidates": None, "post_name": "Assembly Member for Lambeth and Southwark", "post_slug": "lambeth-and-southwark", }, }, { "candidates": [ { "birth_date": "", "death_date": "", "email": None, "gender": "", "honorific_prefix": "", "honorific_suffix": "", "id": 2009, "images": [ { "copyright": "example-license", "id": self.person_image.pk, "image_url": "/media/images/images/imported.jpg", "is_primary": True, "md5sum": "md5sum", "notes": "", "source": "Found on the candidate's Flickr feed", "uploading_user": "******", "user_copyright": "", "user_notes": "Here's an image...", } ], "memberships": [ { "elected": None, "election": { "id": "gla.a.2016-05-05", "name": "2016 London Assembly Election (Additional)", "url": "http://testserver/api/next/elections/gla.a.2016-05-05/", }, "end_date": None, "id": membership_pk, "label": "", "party": { "ec_id": "PP53", "legacy_slug": "party:53", "name": "Labour Party", }, "party_list_position": None, "person": { "id": 2009, "name": "Tessa Jowell", "url": "http://testserver/api/next/persons/2009/", }, "post": { "id": "london", "label": "Assembly Member", "slug": "london", "url": "http://testserver/api/next/posts/london/", }, "role": "Candidate", "start_date": None, "url": "http://testserver/api/next/memberships/{}/".format( membership_pk ), } ], "name": "Tessa Jowell", "other_names": [], "sort_name": "", "thumbnail": "http://testserver/media/cache/69/5d/695d95b49b6a6ab3aebe728d2ec5162b.jpg", "url": "http://testserver/api/next/persons/2009/", } ], "election_date": self.future_date.isoformat(), "election_id": "gla.a.2016-05-05", "election_name": "2016 London Assembly Election (Additional)", "organization": "London Assembly", "post": { "post_candidates": None, "post_name": "Assembly Member", "post_slug": "london", }, }, ] self.assertEqual(expected, output)
def setUp(self): wmc_area_type = AreaTypeFactory.create() gb_parties = PartySetFactory.create(slug='gb', name='Great Britain') election = ElectionFactory.create( slug='2015', name='2015 General Election', area_types=(wmc_area_type,) ) area_extra = AreaExtraFactory.create( base__name="Dulwich and West Norwood", type=wmc_area_type, ) commons = ParliamentaryChamberFactory.create() post_extra = PostExtraFactory.create( elections=(election,), base__area=area_extra.base, base__organization=commons, slug='65808', party_set=gb_parties, base__label='Member of Parliament for Dulwich and West Norwood' ) camberwell_area_extra = AreaExtraFactory.create( base__identifier='65913', type=wmc_area_type, ) camberwell_post = PostExtraFactory.create( elections=(election,), base__area=camberwell_area_extra.base, base__organization=commons, slug='65913', candidates_locked=True, base__label='Member of Parliament for Camberwell and Peckham', party_set=gb_parties, ) person_extra = PersonExtraFactory.create( base__id='2009', base__name='Tessa Jowell' ) self.person = person_extra.base PartyExtraFactory.reset_sequence() PartyFactory.reset_sequence() self.parties = {} for i in range(0, 4): party_extra = PartyExtraFactory.create() gb_parties.parties.add(party_extra.base) self.parties[party_extra.slug] = party_extra CandidacyExtraFactory.create( election=election, base__person=person_extra.base, base__post=post_extra.base, base__on_behalf_of=self.parties['party:63'].base ) person_extra = PersonExtraFactory.create( base__id='2010', base__name='Angela Smith' ) self.person2 = person_extra.base CandidacyExtraFactory.create( election=election, base__person=person_extra.base, base__post=post_extra.base, base__on_behalf_of=self.parties['party:63'].base ) content_type = ContentType.objects.get_for_model(person_extra.base) last_sent = datetime.now(pytz.utc) - timedelta(days=2) self.alert = Alert.objects.create( user=self.user, target_content_type=content_type, target_object_id=self.person.id, last_sent=last_sent, frequency='hourly' ) self.alert2 = Alert.objects.create( user=self.user_who_can_lock, target_content_type=content_type, target_object_id=self.person2.id, last_sent=last_sent, frequency='daily' ) person_extra = PersonExtraFactory.create( base__id='2011', base__name='Martin Jones' ) self.person2 = person_extra.base CandidacyExtraFactory.create( election=election, base__person=person_extra.base, base__post=camberwell_post.base, base__on_behalf_of=self.parties['party:63'].base ) content_type = ContentType.objects.get_for_model( camberwell_area_extra.base ) self.alert3 = Alert.objects.create( user=self.user_who_can_merge, target_content_type=content_type, target_object_id=camberwell_area_extra.base.id, last_sent=last_sent, frequency='daily' ) aldershot_area_extra = AreaExtraFactory.create( base__identifier='65730', type=wmc_area_type, ) aldershot_post = PostExtraFactory.create( elections=(election,), base__area=aldershot_area_extra.base, base__organization=commons, slug='65730', base__label='Member of Parliament for Aldershot', party_set=gb_parties, ) person_extra = PersonExtraFactory.create( base__id='2012', base__name='Gillian Collins' ) self.person3 = person_extra.base CandidacyExtraFactory.create( election=election, base__person=person_extra.base, base__post=aldershot_post.base, base__on_behalf_of=self.parties['party:63'].base ) content_type = ContentType.objects.get_for_model( self.parties['party:90'].base ) self.alert4 = Alert.objects.create( user=self.user_who_can_rename, target_content_type=content_type, target_object_id=self.parties['party:90'].base.id, last_sent=last_sent, frequency='daily' ) content_type = ContentType.objects.get_for_model( camberwell_area_extra.base ) self.alert5 = Alert.objects.create( user=self.user, target_content_type=content_type, target_object_id=66101, last_sent=last_sent, frequency='hourly' )
def setUp(self): wmc_area_type = AreaTypeFactory.create() gb_parties = PartySetFactory.create(slug='gb', name='Great Britain') election = ElectionFactory.create(slug='2015', name='2015 General Election', area_types=(wmc_area_type, )) area_extra = AreaExtraFactory.create( base__name="Dulwich and West Norwood", type=wmc_area_type, ) commons = ParliamentaryChamberFactory.create() post_extra = PostExtraFactory.create( elections=(election, ), base__area=area_extra.base, base__organization=commons, slug='65808', party_set=gb_parties, base__label='Member of Parliament for Dulwich and West Norwood') camberwell_area_extra = AreaExtraFactory.create( base__identifier='65913', type=wmc_area_type, ) camberwell_post = PostExtraFactory.create( elections=(election, ), base__area=camberwell_area_extra.base, base__organization=commons, slug='65913', candidates_locked=True, base__label='Member of Parliament for Camberwell and Peckham', party_set=gb_parties, ) person_extra = PersonExtraFactory.create(base__id='2009', base__name='Tessa Jowell') self.person = person_extra.base PartyExtraFactory.reset_sequence() PartyFactory.reset_sequence() self.parties = {} for i in range(0, 4): party_extra = PartyExtraFactory.create() gb_parties.parties.add(party_extra.base) self.parties[party_extra.slug] = party_extra CandidacyExtraFactory.create( election=election, base__person=person_extra.base, base__post=post_extra.base, base__on_behalf_of=self.parties['party:63'].base) person_extra = PersonExtraFactory.create(base__id='2010', base__name='Angela Smith') self.person2 = person_extra.base CandidacyExtraFactory.create( election=election, base__person=person_extra.base, base__post=post_extra.base, base__on_behalf_of=self.parties['party:63'].base) content_type = ContentType.objects.get_for_model(person_extra.base) last_sent = datetime.now(pytz.utc) - timedelta(days=2) self.alert = Alert.objects.create(user=self.user, target_content_type=content_type, target_object_id=self.person.id, last_sent=last_sent, frequency='hourly') self.alert2 = Alert.objects.create(user=self.user_who_can_lock, target_content_type=content_type, target_object_id=self.person2.id, last_sent=last_sent, frequency='daily') person_extra = PersonExtraFactory.create(base__id='2011', base__name='Martin Jones') self.person2 = person_extra.base CandidacyExtraFactory.create( election=election, base__person=person_extra.base, base__post=camberwell_post.base, base__on_behalf_of=self.parties['party:63'].base) content_type = ContentType.objects.get_for_model( camberwell_area_extra.base) self.alert3 = Alert.objects.create( user=self.user_who_can_merge, target_content_type=content_type, target_object_id=camberwell_area_extra.base.id, last_sent=last_sent, frequency='daily') aldershot_area_extra = AreaExtraFactory.create( base__identifier='65730', type=wmc_area_type, ) aldershot_post = PostExtraFactory.create( elections=(election, ), base__area=aldershot_area_extra.base, base__organization=commons, slug='65730', base__label='Member of Parliament for Aldershot', party_set=gb_parties, ) person_extra = PersonExtraFactory.create(base__id='2012', base__name='Gillian Collins') self.person3 = person_extra.base CandidacyExtraFactory.create( election=election, base__person=person_extra.base, base__post=aldershot_post.base, base__on_behalf_of=self.parties['party:63'].base) content_type = ContentType.objects.get_for_model( self.parties['party:90'].base) self.alert4 = Alert.objects.create( user=self.user_who_can_rename, target_content_type=content_type, target_object_id=self.parties['party:90'].base.id, last_sent=last_sent, frequency='daily') content_type = ContentType.objects.get_for_model( camberwell_area_extra.base) self.alert5 = Alert.objects.create(user=self.user, target_content_type=content_type, target_object_id=66101, last_sent=last_sent, frequency='hourly')
def setUp(self): wmc_area_type = AreaTypeFactory.create() gb_parties = PartySetFactory.create(slug='gb', name='Great Britain') commons = ParliamentaryChamberFactory.create() area = AreaFactory.create(name="Dulwich and West Norwood", ) election = ElectionFactory.create(slug='2015', name='2015 General Election', area_types=(wmc_area_type, ), organization=commons) post_extra = PostExtraFactory.create( elections=(election, ), base__organization=commons, base__id='65808', base__label='Member of Parliament for Dulwich and West Norwood', party_set=gb_parties, base__area=area, ) person_2009 = PersonExtraFactory.create(base__id='2009', base__name='Tessa Jowell') person_2007 = PersonExtraFactory.create(base__id='2007', base__name='Tessa Jowell') PartyFactory.reset_sequence() party_extra = PartyExtraFactory.create() CandidacyExtraFactory.create(election=election, base__person=person_2009.base, base__post=post_extra.base, base__on_behalf_of=party_extra.base) CandidacyExtraFactory.create(election=election, base__person=person_2007.base, base__post=post_extra.base, base__on_behalf_of=party_extra.base) self.site = Site.objects.create(domain='example.com', name='YNR') self.test_upload_user = User.objects.create_user( 'john', '*****@*****.**', 'notagoodpassword', ) self.test_upload_user.terms_agreement.assigned_to_dc = True self.test_upload_user.terms_agreement.save() self.test_reviewer = User.objects.create_superuser( 'jane', '*****@*****.**', 'alsonotagoodpassword', ) self.test_reviewer.terms_agreement.assigned_to_dc = True self.test_reviewer.terms_agreement.save() self.test_reviewer.groups.add( Group.objects.get(name=PHOTO_REVIEWERS_GROUP_NAME)) self.q1 = QueuedImage.objects.create( why_allowed='public-domain', justification_for_use="It's their Twitter avatar", decision='undecided', image=self.storage_filename, person=person_2009.base, user=self.test_upload_user) self.q2 = QueuedImage.objects.create( why_allowed='copyright-assigned', justification_for_use="I took this last week", decision='approved', image=self.storage_filename, person=person_2007.base, user=self.test_upload_user) self.q3 = QueuedImage.objects.create( why_allowed='other', justification_for_use="I found it somewhere", decision='rejected', image=self.storage_filename, person=person_2007.base, user=self.test_reviewer)
def test_results_for_upcoming_elections(self, mock_requests): one_day = timedelta(days=1) future_date = date.today() + one_day london_assembly = ParliamentaryChamberExtraFactory.create( slug='london-assembly', base__name='London Assembly') lac_area_type = AreaTypeFactory.create(name='LAC') gla_area_type = AreaTypeFactory.create(name='GLA') area_extra_lac = AreaExtraFactory.create( base__identifier='11822', base__name="Dulwich and West Norwood", type=lac_area_type, ) area_extra_gla = AreaExtraFactory.create( base__identifier='2247', base__name='Greater London Authority', type=gla_area_type, ) election_lac = ElectionFactory.create( slug='gb-gla-2016-05-05-c', organization=london_assembly.base, name='2016 London Assembly Election (Constituencies)', election_date=future_date.isoformat(), area_types=(lac_area_type, ), ) election_gla = ElectionFactory.create( slug='gb-gla-2016-05-05-a', organization=london_assembly.base, name='2016 London Assembly Election (Additional)', election_date=future_date.isoformat(), area_types=(gla_area_type, ), ) PostExtraFactory.create( elections=(election_lac, ), base__area=area_extra_lac.base, base__organization=london_assembly.base, slug='11822', base__label='Assembly Member for Lambeth and Southwark', ) PostExtraFactory.create( elections=(election_gla, ), base__area=area_extra_gla.base, base__organization=london_assembly.base, slug='2247', base__label='Assembly Member', ) mock_requests.get.side_effect = fake_requests_for_mapit response = self.app.get('/upcoming-elections/?postcode=SE24+0AG') output = response.json self.assertEquals(len(output), 2) self.maxDiff = None expected = [ { u'organization': u'London Assembly', u'election_date': unicode(future_date.isoformat()), u'election_name': u'2016 London Assembly Election (Constituencies)', u'post_name': u'Assembly Member for Lambeth and Southwark', u'area': { u'identifier': u'11822', u'type': u'LAC', u'name': u'Dulwich and West Norwood' } }, { u'organization': u'London Assembly', u'election_date': unicode(future_date.isoformat()), u'election_name': u'2016 London Assembly Election (Additional)', u'post_name': u'Assembly Member', u'area': { u'identifier': u'2247', u'type': u'GLA', u'name': u'Greater London Authority' } }, ] self.assertEquals(expected, output)
def setUp(self): wmc_area_type = AreaTypeFactory.create() gb_parties = PartySetFactory.create(slug='gb', name='Great Britain') commons = ParliamentaryChamberFactory.create() area = AreaFactory.create( name="Dulwich and West Norwood", ) election = ElectionFactory.create( slug='2015', name='2015 General Election', area_types=(wmc_area_type,), organization=commons ) post_extra = PostExtraFactory.create( elections=(election,), base__organization=commons, base__id='65808', base__label='Member of Parliament for Dulwich and West Norwood', party_set=gb_parties, base__area=area, ) person_2009 = PersonExtraFactory.create( base__id='2009', base__name='Tessa Jowell' ) person_2007 = PersonExtraFactory.create( base__id='2007', base__name='Tessa Jowell' ) PartyFactory.reset_sequence() party_extra = PartyExtraFactory.create() CandidacyExtraFactory.create( election=election, base__person=person_2009.base, base__post=post_extra.base, base__on_behalf_of=party_extra.base ) CandidacyExtraFactory.create( election=election, base__person=person_2007.base, base__post=post_extra.base, base__on_behalf_of=party_extra.base ) self.site = Site.objects.create(domain='example.com', name='YNR') self.test_upload_user = User.objects.create_user( 'john', '*****@*****.**', 'notagoodpassword', ) self.test_upload_user.terms_agreement.assigned_to_dc = True self.test_upload_user.terms_agreement.save() self.test_reviewer = User.objects.create_superuser( 'jane', '*****@*****.**', 'alsonotagoodpassword', ) self.test_reviewer.terms_agreement.assigned_to_dc = True self.test_reviewer.terms_agreement.save() self.test_reviewer.groups.add( Group.objects.get(name=PHOTO_REVIEWERS_GROUP_NAME) ) self.q1 = QueuedImage.objects.create( why_allowed='public-domain', justification_for_use="It's their Twitter avatar", decision='undecided', image='pilot.jpg', person=person_2009.base, user=self.test_upload_user ) self.q2 = QueuedImage.objects.create( why_allowed='copyright-assigned', justification_for_use="I took this last week", decision='approved', image='pilot.jpg', person=person_2007.base, user=self.test_upload_user ) self.q3 = QueuedImage.objects.create( why_allowed='other', justification_for_use="I found it somewhere", decision='rejected', image='pilot.jpg', person=person_2007.base, user=self.test_reviewer )
def test_results_for_upcoming_elections(self, mock_requests): one_day = timedelta(days=1) future_date = date.today() + one_day london_assembly = ParliamentaryChamberExtraFactory.create( slug='london-assembly', base__name='London Assembly' ) lac_area_type = AreaTypeFactory.create(name='LAC') gla_area_type = AreaTypeFactory.create(name='GLA') area_extra_lac = AreaExtraFactory.create( base__identifier='gss:E32000010', base__name="Dulwich and West Norwood", type=lac_area_type, ) area_extra_gla = AreaExtraFactory.create( base__identifier='unit_id:41441', base__name='Greater London Authority', type=gla_area_type, ) election_lac = ElectionFactory.create( slug='gb-gla-2016-05-05-c', organization=london_assembly.base, name='2016 London Assembly Election (Constituencies)', election_date=future_date.isoformat(), area_types=(lac_area_type,), ) election_gla = ElectionFactory.create( slug='gb-gla-2016-05-05-a', organization=london_assembly.base, name='2016 London Assembly Election (Additional)', election_date=future_date.isoformat(), area_types=(gla_area_type,), ) PostExtraFactory.create( elections=(election_lac,), base__area=area_extra_lac.base, base__organization=london_assembly.base, slug='gss:E32000010', base__label='Assembly Member for Lambeth and Southwark', ) PostExtraFactory.create( elections=(election_gla,), base__area=area_extra_gla.base, base__organization=london_assembly.base, slug='unit_id:41441', base__label='Assembly Member', ) mock_requests.get.side_effect = fake_requests_for_mapit response = self.app.get('/upcoming-elections/?postcode=SE24+0AG') output = response.json self.assertEqual(len(output), 2) self.maxDiff = None expected = [ { 'organization': 'London Assembly', 'election_date': text_type(future_date.isoformat()), 'election_name': '2016 London Assembly Election (Constituencies)', 'post_name': 'Assembly Member for Lambeth and Southwark', 'area': { 'identifier': 'gss:E32000010', 'type': 'LAC', 'name': 'Dulwich and West Norwood' } }, { 'organization': 'London Assembly', 'election_date': text_type(future_date.isoformat()), 'election_name': '2016 London Assembly Election (Additional)', 'post_name': 'Assembly Member', 'area': { 'identifier': 'unit_id:41441', 'type': 'GLA', 'name': 'Greater London Authority' } }, ] self.assertEqual(expected, output)