def setUp(self): """ initialisatie van de test case """ self.url_planning_regio = '/bondscompetities/regio/planning/%s/' # deelcomp_pk self.url_planning_regio_ronde = '/bondscompetities/regio/planning/ronde/%s/' # ronde_pk self.url_uitslag_invoeren = '/bondscompetities/scores/uitslag-invoeren/%s/' # wedstrijd_pk self.url_inschrijven = '/bondscompetities/deelnemen/leden-aanmelden/%s/' # comp_pk # deze test is afhankelijk van de standaard regio's self.regio_101 = NhbRegio.objects.get(regio_nr=101) self.boog_r = BoogType.objects.get(afkorting='R') # maak een BB aan, nodig om de competitie defaults in te zien self.account_bb = self.e2e_create_account('bb', '*****@*****.**', 'BB', accepteer_vhpg=True) self.account_bb.is_BB = True self.account_bb.save() # maak een test vereniging ver = NhbVereniging() ver.naam = "Grote Club" ver.plaats = "Boogstad" ver.ver_nr = 1000 ver.regio = self.regio_101 # secretaris kan nog niet ingevuld worden ver.save() self.ver = ver # login als BB self.e2e_login_and_pass_otp(self.account_bb) self.e2e_wisselnaarrol_bb() self.e2e_check_rol('BB') self._maak_leden_aan() self._maak_competitie_aan() # schrijf de leden in schuttersboog = [ self.sporterboog_100001, self.sporterboog_100002, self.sporterboog_100004, self.sporterboog_100005 ] self._schrijf_in_voor_competitie(self.deelcomp_r101, schuttersboog) self.functie_bko = DeelCompetitie.objects.get( competitie=self.comp, laag=LAAG_BK, competitie__afstand=18).functie self.client.logout()
def test_overstap(self): # test schutters die overstappen naar een andere vereniging # maak een paar score + scorehist self._score_opslaan(self.uitslagen[0], self.sporterboog_100001, 123) self._score_opslaan(self.uitslagen[2], self.sporterboog_100001, 124) f1 = io.StringIO() f2 = io.StringIO() with self.assert_max_queries(164): management.call_command('regiocomp_tussenstand', '2', '--quick', stderr=f1, stdout=f2) self.assertTrue( 'Scores voor 1 schuttersboog bijgewerkt' in f2.getvalue()) deelnemer = RegioCompetitieSchutterBoog.objects.get( sporterboog=self.sporterboog_100001) self.assertEqual(deelnemer.bij_vereniging.ver_nr, self.ver.ver_nr) sporter = self.sporterboog_100001.sporter # zet de sporter tijdelijk 'zwevend', ook al voorkomt de CRM import deze situatie tegenwoordig sporter.bij_vereniging = None sporter.save(update_fields=['bij_vereniging']) f1 = io.StringIO() f2 = io.StringIO() with self.assert_max_queries(165): management.call_command('regiocomp_tussenstand', '2', '--all', '--quick', stderr=f1, stdout=f2) self.assertFalse("[INFO] Verwerk overstap" in f2.getvalue()) # maak een tweede vereniging aan regio_116 = NhbRegio.objects.get(regio_nr=116) ver = NhbVereniging() ver.naam = "Zuidelijke Club" ver.plaats = "Grensstad" ver.ver_nr = 1100 ver.regio = regio_116 # secretaris kan nog niet ingevuld worden ver.save() sporter.bij_vereniging = ver sporter.save(update_fields=['bij_vereniging']) f1 = io.StringIO() f2 = io.StringIO() with self.assert_max_queries(165): management.call_command('regiocomp_tussenstand', '2', '--quick', stderr=f1, stdout=f2) self.assertTrue( "[INFO] Verwerk overstap 100001: [101] [1000] Grote Club --> [116] [1100] Zuidelijke Club" in f2.getvalue()) # overstap naar vereniging in zelfde regio self.ver.regio = regio_116 self.ver.save() sporter.bij_vereniging = self.ver sporter.save(update_fields=['bij_vereniging']) f1 = io.StringIO() f2 = io.StringIO() with self.assert_max_queries(165): management.call_command('regiocomp_tussenstand', '2', '--quick', stderr=f1, stdout=f2) self.assertTrue( "[INFO] Verwerk overstap 100001: [116] [1100] Zuidelijke Club --> [116] [1000] Grote Club" in f2.getvalue()) # zet the competitie in een later fase zodat overschrijvingen niet meer gedaan worden for comp in Competitie.objects.all(): zet_competitie_fase(comp, 'K') comp.bepaal_fase() self.assertEqual(comp.fase, 'K') # for sporter.bij_vereniging = ver sporter.save() f1 = io.StringIO() f2 = io.StringIO() with self.assert_max_queries(160): management.call_command('regiocomp_tussenstand', '2', '--quick', stderr=f1, stdout=f2) # print("f1: %s" % f1.getvalue()) # print("f2: %s" % f2.getvalue()) self.assertFalse('Verwerk overstap' in f2.getvalue())