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 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 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_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): 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): super(StPaulTests, self).setUp() election_school = Election.objects.get(slug='school-board-2015') election_council = Election.objects.get(slug='council-member-2015') ward_area_type = AreaType.objects.get(name='WARD') muni_area_type = AreaType.objects.get(name='MUNI') party_set = PartySet.objects.create(slug='st-paul') org_school = Organization.objects.get( extra__slug='saint-paul-school-board') org_city_council = Organization.objects.get( extra__slug='saint-paul-city-council') school_area_extra = AreaExtraFactory.create( base__identifier='ocd-division/country:us/state:mn/place:st_paul', base__name='Saint Paul', type=muni_area_type, ) PostExtraFactory.create( elections=(election_school,), base__organization=org_school, slug='ocd-division,country:us,state:mn,place:st_paul', base__label='School Board Member for Saint Paul', party_set=party_set, base__area=school_area_extra.base, ) ward3_area_extra = AreaExtraFactory.create( base__identifier='ocd-division/country:us/state:mn/place:st_paul/ward:3', base__name='Ward 3', type=ward_area_type, ) PostExtraFactory.create( elections=(election_council,), base__organization=org_city_council, slug='ocd-division,country:us,state:mn,place:st_paul,ward:3', base__label='Council Member for Ward 3', party_set=party_set, base__area=ward3_area_extra.base, )
def setUp(self): election_school = Election.objects.get(slug='school-board-2015') election_council = Election.objects.get(slug='council-member-2015') ward_area_type = AreaType.objects.get(name='WARD') muni_area_type = AreaType.objects.get(name='MUNI') party_set = PartySet.objects.create(slug='st-paul') org_school = Organization.objects.get( extra__slug='saint-paul-school-board') org_city_council = Organization.objects.get( extra__slug='saint-paul-city-council') school_area_extra = AreaExtraFactory.create( base__identifier='ocd-division/country:us/state:mn/place:st_paul', base__name='Saint Paul', type=muni_area_type, ) PostExtraFactory.create( elections=(election_school,), base__organization=org_school, slug='ocd-division,country:us,state:mn,place:st_paul', base__label='School Board Member for Saint Paul', party_set=party_set, base__area=school_area_extra.base, ) ward3_area_extra = AreaExtraFactory.create( base__identifier='ocd-division/country:us/state:mn/place:st_paul/ward:3', base__name='Ward 3', type=ward_area_type, ) PostExtraFactory.create( elections=(election_council,), base__organization=org_city_council, slug='ocd-division,country:us,state:mn,place:st_paul,ward:3', base__label='Council Member for Ward 3', party_set=party_set, base__area=ward3_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): election = Election.objects.get(slug='2015') wmc_area_type = election.area_types.get(name='WMC') gb_parties = PartySetFactory.create(slug='gb', name='Great Britain') commons = ParliamentaryChamberFactory.create() 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): election = Election.objects.get(slug='2015') wmc_area_type = election.area_types.get(name='WMC') gb_parties = PartySetFactory.create(slug='gb', name='Great Britain') commons = ParliamentaryChamberFactory.create() 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_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): 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 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): 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): super(AlertsTest, self).setUp() person_extra = PersonExtraFactory.create( base__id='2009', base__name='Tessa Jowell' ) self.person = person_extra.base CandidacyExtraFactory.create( election=self.election, base__person=person_extra.base, base__post=self.dulwich_post_extra.base, base__on_behalf_of=self.green_party_extra.base ) person_extra = PersonExtraFactory.create( base__id='2010', base__name='Angela Smith' ) self.person2 = person_extra.base CandidacyExtraFactory.create( election=self.election, base__person=person_extra.base, base__post=self.dulwich_post_extra.base, base__on_behalf_of=self.green_party_extra.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=self.election, base__person=person_extra.base, base__post=self.camberwell_post_extra.base, base__on_behalf_of=self.green_party_extra.base ) content_type = ContentType.objects.get_for_model( self.camberwell_post_extra.base.area ) self.alert3 = Alert.objects.create( user=self.user_who_can_merge, target_content_type=content_type, target_object_id=self.camberwell_post_extra.base.area.id, last_sent=last_sent, frequency='daily' ) aldershot_area_extra = AreaExtraFactory.create( base__identifier='65730', type=self.wmc_area_type, ) aldershot_post = PostExtraFactory.create( elections=(self.election,), base__area=aldershot_area_extra.base, base__organization=self.commons, slug='65730', base__label='Member of Parliament for Aldershot', party_set=self.gb_parties, ) person_extra = PersonExtraFactory.create( base__id='2012', base__name='Gillian Collins' ) self.person3 = person_extra.base CandidacyExtraFactory.create( election=self.election, base__person=person_extra.base, base__post=aldershot_post.base, base__on_behalf_of=self.green_party_extra.base ) content_type = ContentType.objects.get_for_model( self.ld_party_extra.base ) self.alert4 = Alert.objects.create( user=self.user_who_can_rename, target_content_type=content_type, target_object_id=self.ld_party_extra.base.id, last_sent=last_sent, frequency='daily' ) content_type = ContentType.objects.get_for_model( self.camberwell_post_extra.base.area ) 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): super(AlertsTest, self).setUp() person_extra = PersonExtraFactory.create(base__id='2009', base__name='Tessa Jowell') self.person = person_extra.base CandidacyExtraFactory.create( election=self.election, base__person=person_extra.base, base__post=self.dulwich_post_extra.base, base__on_behalf_of=self.green_party_extra.base) person_extra = PersonExtraFactory.create(base__id='2010', base__name='Angela Smith') self.person2 = person_extra.base CandidacyExtraFactory.create( election=self.election, base__person=person_extra.base, base__post=self.dulwich_post_extra.base, base__on_behalf_of=self.green_party_extra.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=self.election, base__person=person_extra.base, base__post=self.camberwell_post_extra.base, base__on_behalf_of=self.green_party_extra.base) content_type = ContentType.objects.get_for_model( self.camberwell_post_extra.base.area) self.alert3 = Alert.objects.create( user=self.user_who_can_merge, target_content_type=content_type, target_object_id=self.camberwell_post_extra.base.area.id, last_sent=last_sent, frequency='daily') aldershot_area_extra = AreaExtraFactory.create( base__identifier='65730', type=self.wmc_area_type, ) aldershot_post = PostExtraFactory.create( elections=(self.election, ), base__area=aldershot_area_extra.base, base__organization=self.commons, slug='65730', base__label='Member of Parliament for Aldershot', party_set=self.gb_parties, ) person_extra = PersonExtraFactory.create(base__id='2012', base__name='Gillian Collins') self.person3 = person_extra.base CandidacyExtraFactory.create( election=self.election, base__person=person_extra.base, base__post=aldershot_post.base, base__on_behalf_of=self.green_party_extra.base) content_type = ContentType.objects.get_for_model( self.ld_party_extra.base) self.alert4 = Alert.objects.create( user=self.user_who_can_rename, target_content_type=content_type, target_object_id=self.ld_party_extra.base.id, last_sent=last_sent, frequency='daily') content_type = ContentType.objects.get_for_model( self.camberwell_post_extra.base.area) 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 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)
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)