def test_vote_chart(session): class Request(object): def translate(self, text): if isinstance(text, TranslationString): return text.interpolate() return text empty = { 'empty': True, 'text': '', 'text_label': '', 'nay': 0.0, 'nay_label': '', 'none': 0.0, 'none_label': '', 'yea': 0.0, 'yea_label': '' } model = SwissVote() request = Request() assert view_vote_percentages(model, request) == { 'results': [empty], 'title': None } model.title_de = "Vote DE" model.title_fr = "Vote FR" model.short_title_de = "V D" model.short_title_fr = "V F" model._result_people_accepted = 0 model._result_cantons_accepted = 3 model._position_federal_council = 33 model._position_national_council = 1 model._position_council_of_states = 2 assert view_vote_percentages(model, request) == { 'results': [{ 'empty': False, 'text': 'People', 'text_label': '', 'yea': 0.0, 'yea_label': '', 'none': 0.0, 'none_label': '', 'nay': True, 'nay_label': 'Rejected', }, { 'empty': False, 'text': 'Cantons', 'text_label': '', 'yea': 0.0, 'yea_label': '', 'none': True, 'none_label': 'Majority of the cantons not necessary', 'nay': 0.0, 'nay_label': '', }, empty, { 'empty': False, 'text': 'National Council', 'text_label': '', 'yea': True, 'yea_label': 'Accepting', 'none': 0.0, 'none_label': '', 'nay': 0.0, 'nay_label': '', }, { 'empty': False, 'text': 'Council of States', 'text_label': '', 'yea': 0.0, 'yea_label': '', 'none': 0.0, 'none_label': '', 'nay': True, 'nay_label': 'Rejecting', }], 'title': 'Vote DE' } model.result_people_yeas_p = Decimal('10.2') model.result_cantons_yeas = Decimal('23.5') model.result_cantons_nays = Decimal('2.5') model.position_national_council_yeas = Decimal('149') model.position_national_council_nays = Decimal('51') model.position_council_of_states_yeas = Decimal('43') model.position_council_of_states_nays = Decimal('3') model.national_council_share_yeas = Decimal('1.0') model.national_council_share_nays = Decimal('3.4') assert view_vote_percentages(model, request) == { 'results': [{ 'empty': False, 'text': 'People', 'text_label': '', 'yea': 10.2, 'yea_label': '10.2% yea', 'none': 0.0, 'none_label': '', 'nay': 89.8, 'nay_label': '89.8% nay', }, { 'empty': False, 'text': 'Cantons', 'text_label': '', 'yea': 90.4, 'yea_label': '23.5 yea', 'none': 0.0, 'none_label': '', 'nay': 9.6, 'nay_label': '2.5 nay', }, empty, { 'empty': False, 'text': 'National Council', 'text_label': '', 'yea': 74.5, 'yea_label': '149 yea', 'none': 0.0, 'none_label': '', 'nay': 25.5, 'nay_label': '51 nay', }, { 'empty': False, 'text': 'Council of States', 'text_label': '', 'yea': 93.5, 'yea_label': '43 yea', 'none': 0.0, 'none_label': '', 'nay': 6.5, 'nay_label': '3 nay', }, { 'empty': False, 'text': 'Party slogans', 'text_label': 'Recommendations by political parties', 'yea': 1.0, 'yea_label': ('Electoral shares of parties: ' 'Parties recommending Yes 1.0%'), 'none': 95.6, 'none_label': ('Electoral shares of parties: neutral/unknown 95.6%'), 'nay': 3.4, 'nay_label': ('Electoral shares of parties: Parties recommending No 3.4%'), }], 'title': 'Vote DE' }
def sample_vote(): vote = SwissVote() vote.bfs_number = Decimal('100.1') vote.date = date(1990, 6, 2) vote.legislation_number = 4 vote.legislation_decade = NumericRange(1990, 1994) vote.title_de = "Vote DE" vote.title_fr = "Vote FR" vote.short_title_de = "V D" vote.short_title_fr = "V F" vote.keyword = "Keyword" vote.votes_on_same_day = 2 vote._legal_form = 1 vote.initiator = "Initiator" vote.anneepolitique = "anneepolitique" vote.bfs_map_de = ( "https://www.atlas.bfs.admin.ch/maps/12/map/mapIdOnly/1815_de.html") vote.bfs_map_fr = "htt(ps://www.ap/mapIdOnly/1815[e.html}" vote.descriptor_1_level_1 = Decimal('4') vote.descriptor_1_level_2 = Decimal('4.2') vote.descriptor_1_level_3 = Decimal('4.21') vote.descriptor_2_level_1 = Decimal('10') vote.descriptor_2_level_2 = Decimal('10.3') vote.descriptor_2_level_3 = Decimal('10.35') vote.descriptor_3_level_1 = Decimal('10') vote.descriptor_3_level_2 = Decimal('10.3') vote.descriptor_3_level_3 = Decimal('10.33') vote._result = 1 vote.result_eligible_voters = 2 vote.result_votes_empty = 3 vote.result_votes_invalid = 4 vote.result_votes_valid = 5 vote.result_votes_total = 6 vote.result_turnout = Decimal('20.01') vote._result_people_accepted = 1 vote.result_people_yeas = 8 vote.result_people_nays = 9 vote.result_people_yeas_p = Decimal('40.01') vote._result_cantons_accepted = 1 vote.result_cantons_yeas = Decimal('1.5') vote.result_cantons_nays = Decimal('24.5') vote.result_cantons_yeas_p = Decimal('60.01') vote.result_ag_eligible_voters = 101 vote.result_ag_votes_valid = 102 vote.result_ag_votes_total = 103 vote.result_ag_turnout = Decimal('10.40') vote.result_ag_yeas = 105 vote.result_ag_nays = 107 vote.result_ag_yeas_p = Decimal('10.80') vote._result_ag_accepted = 0 vote.result_ai_eligible_voters = 101 vote.result_ai_votes_valid = 102 vote.result_ai_votes_total = 103 vote.result_ai_turnout = Decimal('10.40') vote.result_ai_yeas = 105 vote.result_ai_nays = 107 vote.result_ai_yeas_p = Decimal('10.80') vote._result_ai_accepted = 0 vote.result_ar_eligible_voters = 101 vote.result_ar_votes_valid = 102 vote.result_ar_votes_total = 103 vote.result_ar_turnout = Decimal('10.40') vote.result_ar_yeas = 105 vote.result_ar_nays = 107 vote.result_ar_yeas_p = Decimal('10.80') vote._result_ar_accepted = 0 vote.result_be_eligible_voters = 101 vote.result_be_votes_valid = 102 vote.result_be_votes_total = 103 vote.result_be_turnout = Decimal('10.40') vote.result_be_yeas = 105 vote.result_be_nays = 107 vote.result_be_yeas_p = Decimal('10.80') vote._result_be_accepted = 0 vote.result_bl_eligible_voters = 101 vote.result_bl_votes_valid = 102 vote.result_bl_votes_total = 103 vote.result_bl_turnout = Decimal('10.40') vote.result_bl_yeas = 105 vote.result_bl_nays = 107 vote.result_bl_yeas_p = Decimal('10.80') vote._result_bl_accepted = 0 vote.result_bs_eligible_voters = 101 vote.result_bs_votes_valid = 102 vote.result_bs_votes_total = 103 vote.result_bs_turnout = Decimal('10.40') vote.result_bs_yeas = 105 vote.result_bs_nays = 107 vote.result_bs_yeas_p = Decimal('10.80') vote._result_bs_accepted = 0 vote.result_fr_eligible_voters = 101 vote.result_fr_votes_valid = 102 vote.result_fr_votes_total = 103 vote.result_fr_turnout = Decimal('10.40') vote.result_fr_yeas = 105 vote.result_fr_nays = 107 vote.result_fr_yeas_p = Decimal('10.80') vote._result_fr_accepted = 0 vote.result_ge_eligible_voters = 101 vote.result_ge_votes_valid = 102 vote.result_ge_votes_total = 103 vote.result_ge_turnout = Decimal('10.40') vote.result_ge_yeas = 105 vote.result_ge_nays = 107 vote.result_ge_yeas_p = Decimal('10.80') vote._result_ge_accepted = 0 vote.result_gl_eligible_voters = 101 vote.result_gl_votes_valid = 102 vote.result_gl_votes_total = 103 vote.result_gl_turnout = Decimal('10.40') vote.result_gl_yeas = 105 vote.result_gl_nays = 107 vote.result_gl_yeas_p = Decimal('10.80') vote._result_gl_accepted = 0 vote.result_gr_eligible_voters = 101 vote.result_gr_votes_valid = 102 vote.result_gr_votes_total = 103 vote.result_gr_turnout = Decimal('10.40') vote.result_gr_yeas = 105 vote.result_gr_nays = 107 vote.result_gr_yeas_p = Decimal('10.80') vote._result_gr_accepted = 0 vote.result_ju_eligible_voters = 101 vote.result_ju_votes_valid = 102 vote.result_ju_votes_total = 103 vote.result_ju_turnout = Decimal('10.40') vote.result_ju_yeas = 105 vote.result_ju_nays = 107 vote.result_ju_yeas_p = Decimal('10.80') vote._result_ju_accepted = 0 vote.result_lu_eligible_voters = 101 vote.result_lu_votes_valid = 102 vote.result_lu_votes_total = 103 vote.result_lu_turnout = Decimal('10.40') vote.result_lu_yeas = 105 vote.result_lu_nays = 107 vote.result_lu_yeas_p = Decimal('10.80') vote._result_lu_accepted = 0 vote.result_ne_eligible_voters = 101 vote.result_ne_votes_valid = 102 vote.result_ne_votes_total = 103 vote.result_ne_turnout = Decimal('10.40') vote.result_ne_yeas = 105 vote.result_ne_nays = 107 vote.result_ne_yeas_p = Decimal('10.80') vote._result_ne_accepted = 0 vote.result_nw_eligible_voters = 101 vote.result_nw_votes_valid = 102 vote.result_nw_votes_total = 103 vote.result_nw_turnout = Decimal('10.40') vote.result_nw_yeas = 105 vote.result_nw_nays = 107 vote.result_nw_yeas_p = Decimal('10.80') vote._result_nw_accepted = 0 vote.result_ow_eligible_voters = 101 vote.result_ow_votes_valid = 102 vote.result_ow_votes_total = 103 vote.result_ow_turnout = Decimal('10.40') vote.result_ow_yeas = 105 vote.result_ow_nays = 107 vote.result_ow_yeas_p = Decimal('10.80') vote._result_ow_accepted = 0 vote.result_sg_eligible_voters = 101 vote.result_sg_votes_valid = 102 vote.result_sg_votes_total = 103 vote.result_sg_turnout = Decimal('10.40') vote.result_sg_yeas = 105 vote.result_sg_nays = 107 vote.result_sg_yeas_p = Decimal('10.80') vote._result_sg_accepted = 0 vote.result_sh_eligible_voters = 101 vote.result_sh_votes_valid = 102 vote.result_sh_votes_total = 103 vote.result_sh_turnout = Decimal('10.40') vote.result_sh_yeas = 105 vote.result_sh_nays = 107 vote.result_sh_yeas_p = Decimal('10.80') vote._result_sh_accepted = 0 vote.result_so_eligible_voters = 101 vote.result_so_votes_valid = 102 vote.result_so_votes_total = 103 vote.result_so_turnout = Decimal('10.40') vote.result_so_yeas = 105 vote.result_so_nays = 107 vote.result_so_yeas_p = Decimal('10.80') vote._result_so_accepted = 0 vote.result_sz_eligible_voters = 101 vote.result_sz_votes_valid = 102 vote.result_sz_votes_total = 103 vote.result_sz_turnout = Decimal('10.40') vote.result_sz_yeas = 105 vote.result_sz_nays = 107 vote.result_sz_yeas_p = Decimal('10.80') vote._result_sz_accepted = 0 vote.result_tg_eligible_voters = 101 vote.result_tg_votes_valid = 102 vote.result_tg_votes_total = 103 vote.result_tg_turnout = Decimal('10.40') vote.result_tg_yeas = 105 vote.result_tg_nays = 107 vote.result_tg_yeas_p = Decimal('10.80') vote._result_tg_accepted = 0 vote.result_ti_eligible_voters = 101 vote.result_ti_votes_valid = 102 vote.result_ti_votes_total = 103 vote.result_ti_turnout = Decimal('10.40') vote.result_ti_yeas = 105 vote.result_ti_nays = 107 vote.result_ti_yeas_p = Decimal('10.80') vote._result_ti_accepted = 0 vote.result_ur_eligible_voters = 101 vote.result_ur_votes_valid = 102 vote.result_ur_votes_total = 103 vote.result_ur_turnout = Decimal('10.40') vote.result_ur_yeas = 105 vote.result_ur_nays = 107 vote.result_ur_yeas_p = Decimal('10.80') vote._result_ur_accepted = 0 vote.result_vd_eligible_voters = 101 vote.result_vd_votes_valid = 102 vote.result_vd_votes_total = 103 vote.result_vd_turnout = Decimal('10.40') vote.result_vd_yeas = 105 vote.result_vd_nays = 107 vote.result_vd_yeas_p = Decimal('10.80') vote._result_vd_accepted = 1 vote.result_vs_eligible_voters = 101 vote.result_vs_votes_valid = 102 vote.result_vs_votes_total = 103 vote.result_vs_turnout = Decimal('10.40') vote.result_vs_yeas = 105 vote.result_vs_nays = 107 vote.result_vs_yeas_p = Decimal('10.80') vote._result_vs_accepted = 1 vote.result_zg_eligible_voters = 101 vote.result_zg_votes_valid = 102 vote.result_zg_votes_total = 103 vote.result_zg_turnout = Decimal('10.40') vote.result_zg_yeas = 105 vote.result_zg_nays = 107 vote.result_zg_yeas_p = Decimal('10.80') vote._result_zg_accepted = 0 vote.result_zh_eligible_voters = 101 vote.result_zh_votes_valid = 102 vote.result_zh_votes_total = 103 vote.result_zh_turnout = Decimal('10.40') vote.result_zh_yeas = 105 vote.result_zh_nays = 107 vote.result_zh_yeas_p = Decimal('10.80') vote._department_in_charge = 1 vote.procedure_number = Decimal('24.557') vote._position_federal_council = 1 vote._position_parliament = 1 vote._position_national_council = 1 vote.position_national_council_yeas = 10 vote.position_national_council_nays = 20 vote._position_council_of_states = 1 vote.position_council_of_states_yeas = 30 vote.position_council_of_states_nays = 40 vote.duration_federal_assembly = 30 vote.duration_post_federal_assembly = 31 vote.duration_initative_collection = 32 vote.duration_initative_federal_council = 33 vote.duration_initative_total = 34 vote.duration_referendum_collection = 35 vote.duration_referendum_total = 36 vote.signatures_valid = 40 vote.signatures_invalid = 41 vote.recommendations = { 'fdp': 1, 'cvp': 1, 'sps': 1, 'svp': 1, 'lps': 2, 'ldu': 2, 'evp': 2, 'csp': 3, 'pda': 3, 'poch': 3, 'gps': 4, 'sd': 4, 'rep': 4, 'edu': 5, 'fps': 5, 'lega': 5, 'kvp': 66, 'glp': 66, 'bdp': None, 'mcg': 9999, 'sav': 1, 'eco': 2, 'sgv': 3, 'sbv-usp': 3, 'sgb': 3, 'travs': 3, 'vsa': 9999, 'vpod': 1, 'ssv': 1, 'gem': 1, 'kdk': 1, 'vdk': 1, 'endk': 1, 'fdk': 1, 'edk': 1, 'gdk': 1, 'ldk': 1, 'sodk': 1, 'kkjpd': 1, 'bpuk': 1, 'sbk': 1, 'acs': 1, 'tcs': 1, 'vcs': 1, 'voev': 1 } vote.recommendations_other_yes = "Pro Velo" vote.recommendations_other_no = None vote.recommendations_other_free = "Pro Natura, Greenpeace" vote.recommendations_divergent = { 'edu_vso': 1, 'fdp_ti': 1, 'fdp-fr_ch': 2, 'jcvp_ch': 2, } vote.national_council_election_year = 1990 vote.national_council_share_fdp = Decimal('01.10') vote.national_council_share_cvp = Decimal('02.10') vote.national_council_share_sp = Decimal('03.10') vote.national_council_share_svp = Decimal('04.10') vote.national_council_share_lps = Decimal('05.10') vote.national_council_share_ldu = Decimal('06.10') vote.national_council_share_evp = Decimal('07.10') vote.national_council_share_csp = Decimal('08.10') vote.national_council_share_pda = Decimal('09.10') vote.national_council_share_poch = Decimal('10.10') vote.national_council_share_gps = Decimal('11.10') vote.national_council_share_sd = Decimal('12.10') vote.national_council_share_rep = Decimal('13.10') vote.national_council_share_edu = Decimal('14.10') vote.national_council_share_fps = Decimal('15.10') vote.national_council_share_lega = Decimal('16.10') vote.national_council_share_kvp = Decimal('17.10') vote.national_council_share_glp = Decimal('18.10') vote.national_council_share_bdp = Decimal('19.10') vote.national_council_share_mcg = Decimal('20.20') vote.national_council_share_ubrige = Decimal('21.20') vote.national_council_share_yeas = Decimal('22.20') vote.national_council_share_nays = Decimal('23.20') vote.national_council_share_neutral = Decimal('24.20') vote.national_council_share_none = Decimal('25.20') vote.national_council_share_empty = Decimal('26.20') vote.national_council_share_free_vote = Decimal('27.20') vote.national_council_share_unknown = Decimal('28.20') vote.national_council_share_vague = Decimal('28.20') return vote