def setUp(self): """ initialisatie van de test case """ self.account_admin = self.e2e_create_account_admin() self.account_admin.is_BB = True self.account_admin.save() sporter = Sporter(lid_nr=100000, voornaam='Ad', achternaam='de Admin', geboorte_datum='1966-06-06', sinds_datum='2020-02-02', account=self.account_admin) sporter.save() # maak een test vereniging self.nhbver1 = NhbVereniging(ver_nr=1000, naam="Grote Club", regio=NhbRegio.objects.get(regio_nr=112)) self.nhbver1.save() self.functie_hwl = maak_functie('HWL Ver 1000', 'HWL') self.functie_hwl.nhb_ver = self.nhbver1 self.functie_hwl.accounts.add(self.account_admin) self.functie_hwl.save() self.nhbver2 = NhbVereniging(ver_nr=1001, naam="Kleine Club", regio=NhbRegio.objects.get(regio_nr=112)) self.nhbver2.save()
def setUp(self): """ initialisatie van de test case """ usermodel = get_user_model() usermodel.objects.create_user('100001', '*****@*****.**', 'wachtwoord') account = Account.objects.get(username='******') account.save() self.account_100001 = account # maak een test vereniging # maak een test vereniging ver = NhbVereniging(ver_nr="1000", naam="Grote Club", regio=NhbRegio.objects.get(pk=111)) ver.save() self.nhbver1 = ver # maak een sporter aan sporter = Sporter() sporter.lid_nr = 100001 sporter.geslacht = "M" sporter.voornaam = "Ramon" sporter.achternaam = "de Tester" sporter.email = "*****@*****.**" sporter.geboorte_datum = datetime.date(year=1972, month=3, day=4) sporter.sinds_datum = datetime.date(year=2010, month=11, day=12) sporter.bij_vereniging = ver sporter.account = self.account_100001 sporter.save() self.sporter1 = sporter
def setUp(self): """ initialisatie van de test case """ self.account_admin = self.e2e_create_account_admin() self.account_normaal = self.e2e_create_account('normaal', '*****@*****.**', 'Normaal') self.account_hwl = self.e2e_create_account('hwl', '*****@*****.**', 'Secretaris') self.e2e_account_accepteert_vhpg(self.account_hwl) # maak een test vereniging ver = NhbVereniging() ver.naam = "Grote Club" ver.ver_nr = "1000" ver.regio = NhbRegio.objects.get(regio_nr=111) ver.save() self.nhbver1 = ver self.functie_hwl = maak_functie('HWL 1000', 'HWL') self.functie_hwl.nhb_ver = ver self.functie_hwl.save() self.functie_hwl.accounts.add(self.account_hwl) # maak een test lid aan sporter = Sporter() sporter.lid_nr = 100001 sporter.geslacht = "M" sporter.voornaam = "Ramon" sporter.achternaam = "de Tester" sporter.geboorte_datum = datetime.date(year=1972, month=3, day=4) sporter.sinds_datum = datetime.date(year=2010, month=11, day=12) sporter.bij_vereniging = ver sporter.account = self.account_normaal sporter.email = sporter.account.email sporter.save() self.sporter_100001 = sporter self.boog_r = BoogType.objects.get(afkorting='R') self.boog_c = BoogType.objects.get(afkorting='C') # maak 2 schutterboog aan sporterboog = SporterBoog(sporter=sporter, boogtype=self.boog_c, voor_wedstrijd=True) sporterboog.save() self.sporterboog_100001c = sporterboog sporterboog = SporterBoog(sporter=sporter, boogtype=self.boog_r, voor_wedstrijd=True) sporterboog.save() self.sporterboog_100001r = sporterboog # maak een AG aan score_indiv_ag_opslaan(sporterboog, 18, 9.123, None, 'test melding') score_indiv_ag_opslaan(sporterboog, 25, 9.251, self.account_hwl, 'test melding') self._maak_uitslag(sporterboog)
def setUp(self): """ eenmalige setup voor alle tests wordt als eerste aangeroepen """ # deze test is afhankelijk van de standaard regio's regio = NhbRegio.objects.get(regio_nr=101) # maak een test vereniging ver = NhbVereniging() ver.naam = "Grote Club" ver.ver_nr = 1000 ver.regio = regio # secretaris kan nog niet ingevuld worden ver.save() # maak een volwassen test lid aan (komt in groep met klasse onbekend) sporter = Sporter() sporter.lid_nr = 100001 sporter.geslacht = "M" sporter.voornaam = "Ramon" sporter.achternaam = "de Tester" sporter.email = "*****@*****.**" sporter.geboorte_datum = datetime.date(year=1972, month=3, day=4) sporter.sinds_datum = datetime.date(year=2010, month=11, day=12) sporter.bij_vereniging = ver self.account_lid = self.e2e_create_account(sporter.lid_nr, sporter.email, sporter.voornaam) sporter.account = self.account_lid sporter.save() self.sporter_100001 = sporter self.account_geenlid = self.e2e_create_account('geenlid', '*****@*****.**', 'Testertje')
def setUp(self): """ initialisatie van de test case """ self.account_normaal = self.e2e_create_account('normaal', '*****@*****.**', 'Normaal') self.account_100001 = self.e2e_create_account('100001', '*****@*****.**', 'Ramon') self.functie_bko = maak_functie('BKO Test', 'BKO') self.functie_rko = maak_functie('RKO Test', 'RKO') self.functie_rko.nhb_rayon = NhbRayon.objects.get(rayon_nr=3) self.functie_rko.save() self.functie_rcl = maak_functie('RCL Test', 'RCL') self.functie_rcl.nhb_regio = NhbRegio.objects.get(regio_nr=111) self.functie_rcl.save() # maak een test vereniging ver = NhbVereniging() ver.naam = "Grote Club" ver.ver_nr = "1000" ver.regio = NhbRegio.objects.get(regio_nr=111) # secretaris kan nog niet ingevuld worden ver.save() self.functie_sec = maak_functie('Secretaris vereniging 1000', 'SEC') self.functie_sec.nhb_ver = ver self.functie_sec.save() self.functie_hwl = maak_functie('Hoofdwedstrijdleider 1000', 'HWL') self.functie_hwl.nhb_ver = ver self.functie_hwl.save() self.functie_wl = maak_functie('Wedstrijdleider 1000', 'WL') self.functie_wl.nhb_ver = ver self.functie_wl.save() # maak een test lid aan sporter = Sporter() sporter.lid_nr = 100001 sporter.geslacht = "M" sporter.voornaam = "Ramon" sporter.achternaam = "de Tester" sporter.geboorte_datum = datetime.date(year=1972, month=3, day=4) sporter.sinds_datum = datetime.date(year=2010, month=11, day=12) sporter.bij_vereniging = ver sporter.account = self.account_100001 sporter.email = sporter.account.email sporter.save() # maak een lid aan voor de admin sporter = Sporter() sporter.lid_nr = 100002 sporter.geslacht = "M" sporter.voornaam = "Ad" sporter.achternaam = "Min" sporter.geboorte_datum = datetime.date(year=1972, month=3, day=4) sporter.sinds_datum = datetime.date(year=2010, month=11, day=12) sporter.bij_vereniging = ver sporter.account = self.testdata.account_admin sporter.email = sporter.account.email sporter.save()
def setUp(self): """ initialisatie van de test case """ self.account_normaal = self.e2e_create_account('normaal', '*****@*****.**', 'Normaal') # maak een test vereniging ver = NhbVereniging() ver.naam = "Grote Club" ver.ver_nr = "1000" ver.regio = NhbRegio.objects.get(pk=111) # secretaris kan nog niet ingevuld worden ver.save() # maak een test lid aan sporter = Sporter() sporter.lid_nr = 100001 sporter.geslacht = "M" sporter.voornaam = "Ramon" sporter.achternaam = "de Tester" sporter.email = "" # belangrijk: leeg laten! sporter.geboorte_datum = datetime.date(year=1972, month=3, day=4) sporter.sinds_datum = datetime.date(year=2010, month=11, day=12) sporter.bij_vereniging = ver sporter.account = self.account_normaal sporter.save() self.sporter_100001 = sporter
def test_geen_beheerders(self): # login als BB self.e2e_login_and_pass_otp(self.testdata.account_bb) self.e2e_wisselnaarrol_bb() self.e2e_check_rol('BB') # maak een extra vereniging aan zonder beheerders ver = NhbVereniging() ver.naam = "Extra Club" ver.ver_nr = 1099 ver.regio = NhbRegio.objects.get(regio_nr=101) # secretaris kan nog niet ingevuld worden ver.save() # maak de SEC, HWL en WL functies aan voor deze vereniging for rol in ('SEC', 'HWL', 'WL'): tmp_func = maak_functie(rol + " nhbver 1099", rol) tmp_func.nhb_ver = ver tmp_func.save() # for with self.assert_max_queries(20): resp = self.client.get(self.url_geen_beheerders) self.assertEqual(resp.status_code, 200) # 200 = OK self.assert_html_ok(resp) self.assert_template_used(resp, ('vereniging/contact-geen-beheerders.dtl', 'plein/site_layout.dtl')) # probeer het met een andere rol self.e2e_wisselnaarrol_gebruiker() resp = self.client.get(self.url_geen_beheerders) self.assert403(resp) self.e2e_assert_other_http_commands_not_supported(self.url_geen_beheerders)
def _maak_verenigingen(self): """ Maak in regios 101..107 elk vier verenigingen aan Maak in regios 108..116 elk twee verenigingen aan Maak in regio 100 twee verenigingen aan ver_nr = regio_nr * 10 + volgnummer 1053 is dus 3e vereniging in regio 105 de eerste 3 verenigingen in regio's 101 en 108 gaan in het eerste cluster van die regio """ cluster_regios = list() curr_rayon = 0 bulk = list() for regio in NhbRegio.objects.select_related('rayon').order_by( 'regio_nr'): if regio.regio_nr in (101, 107): cluster_regios.append(regio) aantal = 2 if 101 <= regio.regio_nr <= 107: aantal = 4 for nr in range(aantal): ver_nr = regio.regio_nr * 10 + nr + 1 # vereniging 0, 1, 2 gaan in een cluster, 3 niet if nr >= 3: cluster = None ver = NhbVereniging( ver_nr=ver_nr, naam="Club %s" % ver_nr, plaats="Regio %s dorp %s" % (regio.regio_nr, nr + 1), regio=regio, # geen secretaris lid geen_wedstrijden=regio.is_administratief) bulk.append(ver) # for # for NhbVereniging.objects.bulk_create(bulk) # 48x # print('TestData: created %sx NhbVereniging' % len(bulk)) for ver in bulk: self.vereniging[ver.ver_nr] = ver # for for regio in cluster_regios: cluster = NhbCluster.objects.filter( regio=regio).order_by('letter')[0] self.regio_cluster[regio.regio_nr] = cluster for ver in NhbVereniging.objects.filter( regio=regio).order_by('ver_nr')[:3]: ver.clusters.add(cluster)
def setUp(self): """ initialisatie van de test case """ self.account_normaal = self.e2e_create_account('normaal', '*****@*****.**', 'Normaal') self.account_geenlid = self.e2e_create_account('geenlid', '*****@*****.**', 'Geen') self.account_twee = self.e2e_create_account('twee', '*****@*****.**', 'Twee') # afhankelijk van de rayon/regio's aangemaakt door NhbStructuur migratie # maak een test vereniging ver = NhbVereniging() ver.naam = "Grote Club" ver.ver_nr = "1000" ver.regio = NhbRegio.objects.get(pk=111) # secretaris kan nog niet ingevuld worden ver.save() self.nhbver = ver # maak een test lid aan sporter = Sporter() sporter.lid_nr = 100001 sporter.geslacht = "M" sporter.voornaam = "Ramon" sporter.achternaam = "de Tester" sporter.geboorte_datum = datetime.date(year=1972, month=3, day=4) sporter.sinds_datum = datetime.date(year=2010, month=11, day=12) sporter.bij_vereniging = ver sporter.account = self.account_normaal sporter.email = sporter.account.email sporter.save() self.sporter1 = sporter # maak een test lid aan sporter = Sporter() sporter.lid_nr = 100002 sporter.geslacht = "V" sporter.voornaam = "Twee" sporter.achternaam = "de Tester" sporter.geboorte_datum = datetime.date(year=1972, month=3, day=4) sporter.sinds_datum = datetime.date(year=2010, month=11, day=12) sporter.bij_vereniging = ver sporter.account = self.account_twee sporter.email = sporter.account.email sporter.save() # maak een test lid aan sporter = Sporter() sporter.lid_nr = 100003 sporter.geslacht = "V" sporter.voornaam = "Geen" sporter.achternaam = "Lid" sporter.geboorte_datum = datetime.date(year=1972, month=3, day=4) sporter.sinds_datum = datetime.date(year=2010, month=11, day=12) sporter.account = self.account_geenlid sporter.email = sporter.account.email sporter.save()
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 setUp(self): """ eenmalige setup voor alle tests wordt als eerste aangeroepen """ self.regio_111 = NhbRegio.objects.get(regio_nr=111) # maak een test vereniging ver = NhbVereniging() ver.naam = "Grote Club" ver.ver_nr = "1000" ver.regio = self.regio_111 # secretaris kan nog niet ingevuld worden ver.save() self.nhbver1 = ver
def setUp(self): """ initialisatie van de test case """ self.account_normaal = self.e2e_create_account('normaal', '*****@*****.**', 'Normaal', accepteer_vhpg=True) rayon_1 = NhbRayon.objects.get(rayon_nr=1) regio_101 = NhbRegio.objects.get(regio_nr=101) regio_105 = NhbRegio.objects.get(regio_nr=105) # creëer een competitie met deelcompetities competities_aanmaken(jaar=2019) deel1 = DeelCompetitie.objects.filter(laag=LAAG_BK)[0] self.functie_bko1 = deel1.functie self.functie_bko2 = DeelCompetitie.objects.filter( laag=LAAG_BK)[1].functie self.functie_rko1 = DeelCompetitie.objects.filter( laag=LAAG_RK, competitie=deel1.competitie, nhb_rayon=rayon_1)[0].functie self.functie_rcl101 = DeelCompetitie.objects.filter( laag=LAAG_REGIO, competitie=deel1.competitie, nhb_regio=regio_101)[0].functie self.functie_rcl105 = DeelCompetitie.objects.filter( laag=LAAG_REGIO, competitie=deel1.competitie, nhb_regio=regio_105)[0].functie # maak een test vereniging ver = NhbVereniging() ver.naam = "Grote Club" ver.ver_nr = "1000" ver.regio = regio_105 # secretaris kan nog niet ingevuld worden ver.save() self.nhbver1 = ver self.functie_sec = maak_functie("SEC test", "SEC") self.functie_sec.nhb_ver = ver self.functie_sec.save() self.functie_hwl = maak_functie("HWL test", "HWL") self.functie_hwl.nhb_ver = ver self.functie_hwl.save() self.functie_wl = maak_functie("WL test", "WL") self.functie_wl.nhb_ver = ver self.functie_wl.save()
def setUp(self): """ initialisatie van de test case """ self.account_normaal = self.e2e_create_account('normaal', '*****@*****.**', 'Normaal') # maak een test vereniging ver = NhbVereniging() ver.naam = "Grote Club" ver.ver_nr = "1000" ver.regio = NhbRegio.objects.get(pk=111) # secretaris kan nog niet ingevuld worden ver.save() self.nhbver = ver # maak de SEC functie aan functie = Functie(rol='SEC', nhb_ver=ver, beschrijving='SEC vereniging 1000') functie.save() # maak een test lid aan sporter = Sporter() sporter.lid_nr = 100001 sporter.geslacht = "M" sporter.voornaam = "Ramon" sporter.achternaam = "de Tester" sporter.email = "*****@*****.**" sporter.geboorte_datum = datetime.date(year=1972, month=3, day=4) sporter.sinds_datum = datetime.date(year=2010, month=11, day=12) sporter.bij_vereniging = ver sporter.save() self.sporter_100001 = sporter # maak een test lid aan sporter = Sporter() sporter.lid_nr = 100002 sporter.geslacht = "V" sporter.voornaam = "Ramona" sporter.achternaam = "de Testerin" sporter.email = "" sporter.geboorte_datum = datetime.date(year=1972, month=3, day=4) sporter.sinds_datum = datetime.date(year=2010, month=11, day=12) sporter.bij_vereniging = ver sporter.save() self.sporter_100002 = sporter
def setUp(self): """ initialisatie van de test case """ self.account_admin = self.e2e_create_account_admin() self.account_normaal = self.e2e_create_account('normaal', '*****@*****.**', 'Normaal') self.functie_sec = maak_functie("SEC test", "SEC") self.functie_tst = maak_functie("Test test", "x") # maak een test vereniging ver = NhbVereniging() ver.naam = "Grote Club" ver.ver_nr = "1000" ver.regio = NhbRegio.objects.get(pk=111) # secretaris kan nog niet ingevuld worden ver.save() self.nhbver1 = ver self.functie_sec.nhb_ver = ver self.functie_sec.save()
def setUp(self): """ initialisatie van de test case """ regio_111 = NhbRegio.objects.get(pk=111) boog_r = BoogType.objects.get(afkorting='R') boog_bb = BoogType.objects.get(afkorting='BB') boog_ib = BoogType.objects.get(afkorting='IB') teamtype_r = TeamType.objects.get(afkorting='R') datum = datetime.date(year=2000, month=1, day=1) comp = Competitie( beschrijving='Test', afstand='18', begin_jaar=2000, uiterste_datum_lid=datum, begin_aanmeldingen=datum, einde_aanmeldingen=datum, einde_teamvorming=datum, eerste_wedstrijd=datum, laatst_mogelijke_wedstrijd=datum, datum_klassengrenzen_rk_bk_teams=datum, rk_eerste_wedstrijd=datum, rk_laatste_wedstrijd=datum, bk_eerste_wedstrijd=datum, bk_laatste_wedstrijd=datum) comp.save() self.comp = comp deelcomp = DeelCompetitie( competitie=comp, laag=LAAG_REGIO, nhb_regio=regio_111) deelcomp.save() indiv_r1 = IndivWedstrijdklasse.objects.filter(boogtype=boog_r)[1] indiv_r2 = IndivWedstrijdklasse.objects.filter(boogtype=boog_r)[2] indiv_ib = IndivWedstrijdklasse.objects.filter(boogtype=boog_ib)[0] indiv_bb = IndivWedstrijdklasse.objects.filter(boogtype=boog_bb)[0] klasse_r1 = CompetitieKlasse( competitie=comp, indiv=indiv_r1, min_ag=2.0) klasse_r1.save() CompetitieKlasse( competitie=comp, indiv=indiv_r2, min_ag=1.0).save() CompetitieKlasse( competitie=comp, indiv=indiv_bb, min_ag=0.0).save() klasse_ib = CompetitieKlasse( competitie=comp, indiv=indiv_ib, min_ag=0.0) klasse_ib.save() # maak een test vereniging ver = NhbVereniging() ver.naam = "Grote Club met een naam langer dan 30 tekens" ver.ver_nr = "1000" ver.regio = regio_111 ver.save() # maak een test lid aan sporter = Sporter() sporter.lid_nr = 123456 sporter.geslacht = "M" sporter.voornaam = "Ramon" sporter.achternaam = "de Tester" sporter.geboorte_datum = datetime.date(year=1972, month=3, day=4) sporter.sinds_datum = datetime.date(year=2010, month=11, day=12) sporter.bij_vereniging = ver sporter.account = None sporter.email = '' sporter.save() self.sporter = sporter sporterboog_r = SporterBoog( sporter=sporter, boogtype=boog_r, voor_wedstrijd=True) sporterboog_r.save() self.sporterboog_r = sporterboog_r sporterboog_ib = SporterBoog( sporter=sporter, boogtype=boog_ib, voor_wedstrijd=False) sporterboog_ib.save() self.sporterboog_ib = sporterboog_ib sporterboog_bb = SporterBoog( sporter=sporter, boogtype=boog_bb, voor_wedstrijd=False) sporterboog_bb.save() self.sporterboog_bb = sporterboog_bb deelnemer_r = RegioCompetitieSchutterBoog( deelcompetitie=deelcomp, sporterboog=sporterboog_r, bij_vereniging=ver, klasse=klasse_r1, aantal_scores=1) deelnemer_r.save() self.deelnemer_r = deelnemer_r deelnemer_ib = RegioCompetitieSchutterBoog( deelcompetitie=deelcomp, sporterboog=sporterboog_ib, bij_vereniging=ver, klasse=klasse_ib, aantal_scores=2) deelnemer_ib.save() self.deelnemer_ib = deelnemer_ib team = RegiocompetitieTeam( deelcompetitie=deelcomp, vereniging=ver, volg_nr=1, team_type=teamtype_r, team_naam='Test') team.save() self.team = team team.gekoppelde_schutters.add(deelnemer_ib)
class TestKalenderWedstrijd(E2EHelpers, TestCase): """ tests voor de Kalender applicatie """ url_kalender_manager = '/kalender/manager/' url_kalender_vereniging = '/kalender/vereniging/' url_kalender_wijzig_wedstrijd = '/kalender/%s/wijzig/' # wedstrijd_pk url_kalender_zet_status = '/kalender/%s/zet-status/' # wedstrijd_pk url_kalender_sessies = '/kalender/%s/sessies/' # wedstrijd_pk def setUp(self): """ initialisatie van de test case """ self.account_admin = self.e2e_create_account_admin() self.account_admin.is_BB = True self.account_admin.save() sporter = Sporter(lid_nr=100000, voornaam='Ad', achternaam='de Admin', geboorte_datum='1966-06-06', sinds_datum='2020-02-02', account=self.account_admin) sporter.save() # maak een test vereniging self.nhbver1 = NhbVereniging(ver_nr=1000, naam="Grote Club", regio=NhbRegio.objects.get(regio_nr=112)) self.nhbver1.save() self.functie_hwl = maak_functie('HWL Ver 1000', 'HWL') self.functie_hwl.nhb_ver = self.nhbver1 self.functie_hwl.accounts.add(self.account_admin) self.functie_hwl.save() self.nhbver2 = NhbVereniging(ver_nr=1001, naam="Kleine Club", regio=NhbRegio.objects.get(regio_nr=112)) self.nhbver2.save() @staticmethod def _maak_externe_locatie(ver): # voeg een locatie toe locatie = WedstrijdLocatie( baan_type='E', # externe locatie naam='Test locatie') locatie.save() locatie.verenigingen.add(ver) return locatie @staticmethod def _maak_accommodatie_binnen(ver): # voeg een locatie toe binnen_locatie = WedstrijdLocatie( baan_type='X', # onbekend adres='Verweg 1, Om de hoek', adres_uit_crm=True) binnen_locatie.save() binnen_locatie.verenigingen.add(ver) return binnen_locatie @staticmethod def _maak_accommodatie_buiten(ver): # voeg een locatie toe buiten_locatie = WedstrijdLocatie( baan_type='B', # buiten adres_uit_crm=False, discipline_outdoor=True, buiten_banen=4) buiten_locatie.save() buiten_locatie.verenigingen.add(ver) return buiten_locatie def test_wijzig_wedstrijd(self): self.e2e_login_and_pass_otp(self.account_admin) # wissel naar HWL en maak een wedstrijd aan self._maak_externe_locatie(self.nhbver1) # locatie is noodzakelijk self.e2e_wissel_naar_functie(self.functie_hwl) resp = self.client.post(self.url_kalender_vereniging, {'nieuwe_wedstrijd': 'ja'}) self.assert_is_redirect(resp, self.url_kalender_vereniging) self.assertEqual(1, KalenderWedstrijd.objects.count()) wedstrijd = KalenderWedstrijd.objects.all()[0] self.assertTrue(str(wedstrijd) != '') url = self.url_kalender_wijzig_wedstrijd % wedstrijd.pk # haal de wedstrijd op met status 'ontwerp' with self.assert_max_queries(20): resp = self.client.get(url) self.assertEqual(resp.status_code, 200) # 200 = OK self.assert_html_ok(resp) self.assert_template_used( resp, ('kalender/wijzig-wedstrijd.dtl', 'plein/site_layout.dtl')) # buiten locatie zonder binnen locatie locatie_buiten = self._maak_accommodatie_buiten(self.nhbver1) with self.assert_max_queries(20): resp = self.client.get(url) self.assertEqual(resp.status_code, 200) # 200 = OK self.assert_html_ok(resp) # buiten locatie met binnen locatie self._maak_accommodatie_binnen(self.nhbver1) with self.assert_max_queries(20): resp = self.client.get(url) self.assertEqual(resp.status_code, 200) # 200 = OK self.assert_html_ok(resp) # wijzig velden via de 'post' interface loc_sel = 'loc_%s' % locatie_buiten.pk with self.assert_max_queries(20): resp = self.client.post( url, { 'titel': 'Test Titel', 'wedstrijd_duur': 'duur_1', 'contact_naam': 'Test Naam', 'contact_email': 'Test Email', 'contact_website': 'http://test.website.nl', 'contact_telefoon': 'Test Telefoon', 'aantal_banen': '42', 'discipline': 'disc_OD', 'wa_status': 'wa_B', 'locatie': loc_sel, 'aanwezig': 'aanwezig_35', 'scheidsrechters': 'Scheids1\nScheids2', 'begrenzing': 'begrenzing_L', 'extern': 'ja' }) self.assert_is_redirect(resp, self.url_kalender_vereniging) wedstrijd = KalenderWedstrijd.objects.get(pk=wedstrijd.pk) self.assertEqual(wedstrijd.titel, 'Test Titel') self.assertEqual(wedstrijd.datum_begin, wedstrijd.datum_einde) self.assertEqual(wedstrijd.contact_naam, 'Test Naam') self.assertEqual(wedstrijd.contact_email, 'Test Email') self.assertEqual(wedstrijd.contact_website, 'http://test.website.nl') self.assertEqual(wedstrijd.contact_telefoon, 'Test Telefoon') self.assertEqual(wedstrijd.aantal_banen, 42) self.assertEqual(wedstrijd.discipline, 'OD') self.assertEqual(wedstrijd.scheidsrechters, 'Scheids1\nScheids2') self.assertEqual(wedstrijd.minuten_voor_begin_sessie_aanwezig_zijn, 35) self.assertEqual(wedstrijd.locatie, locatie_buiten) self.assertEqual(wedstrijd.begrenzing, 'L') self.assertTrue(wedstrijd.extern_beheerd) datum = '%s-1-1' % (wedstrijd.datum_begin.year + 1) with self.assert_max_queries(20): resp = self.client.post( url, { 'datum_begin': datum, 'wedstrijd_duur': 'duur_5', 'wa_status': 'wa_A', 'aantal_banen': '0' }) self.assert_is_redirect(resp, self.url_kalender_vereniging) wedstrijd = KalenderWedstrijd.objects.get(pk=wedstrijd.pk) self.assertEqual(wedstrijd.wa_status, 'B') self.assertFalse(wedstrijd.extern_beheerd) # akkoord WA status with self.assert_max_queries(20): resp = self.client.post(url, { 'wa_status': 'wa_A', 'akkoord_a_status': 'ja' }) self.assert_is_redirect(resp, self.url_kalender_vereniging) wedstrijd = KalenderWedstrijd.objects.get(pk=wedstrijd.pk) self.assertEqual(wedstrijd.wa_status, 'A') # zet de wedstrijd door 'Wacht op goedkeuring' en haal de pagina opnieuw op wedstrijd.status = 'W' wedstrijd.save() with self.assert_max_queries(20): resp = self.client.get(url) self.assertEqual(resp.status_code, 200) # 200 = OK self.assert_html_ok(resp) # probeer wijzigingen te doen aan een wedstrijd die voorbij Ontwerp fase is datum = '%s-3-3' % wedstrijd.datum_begin.year oude_datum_begin = wedstrijd.datum_begin oude_datum_einde = wedstrijd.datum_einde with self.assert_max_queries(20): resp = self.client.post( url, { 'titel': 'Test Titel 3', # mag wel 'datum_begin': datum, 'wedstrijd_duur': 'duur_1', 'contact_naam': 'Test Naam 3', # mag wel 'contact_email': 'Test Email 3', 'contact_website': 'http://test3.website.nl', 'contact_telefoon': 'Test Telefoon 3', 'aantal_banen': '41', 'discipline': 'disc_3D', 'wa_status': 'wa_B', 'scheidsrechters': 'Scheids4', 'begrenzing': 'begrenzing_V', # mag wel 'extern': 'nee' }) self.assert_is_redirect(resp, self.url_kalender_vereniging) wedstrijd = KalenderWedstrijd.objects.get(pk=wedstrijd.pk) self.assertEqual(wedstrijd.titel, 'Test Titel 3') self.assertEqual(wedstrijd.datum_begin, oude_datum_begin) self.assertEqual(wedstrijd.datum_einde, oude_datum_einde) self.assertEqual(wedstrijd.contact_naam, 'Test Naam 3') self.assertEqual(wedstrijd.contact_email, 'Test Email 3') self.assertEqual(wedstrijd.contact_website, 'http://test3.website.nl') self.assertEqual(wedstrijd.contact_telefoon, 'Test Telefoon 3') self.assertEqual(wedstrijd.aantal_banen, 42) self.assertEqual(wedstrijd.discipline, 'OD') self.assertEqual(wedstrijd.scheidsrechters, 'Scheids1\nScheids2') self.assertEqual(wedstrijd.begrenzing, 'V') self.assertTrue(wedstrijd.extern_beheerd) # zet de wedstrijd door 'Geaccepteerd' en haal de pagina opnieuw op wedstrijd.status = 'A' wedstrijd.save() with self.assert_max_queries(20): resp = self.client.get(url) self.assertEqual(resp.status_code, 200) # 200 = OK self.assert_html_ok(resp) # zet de wedstrijd door 'Geannuleerd' en haal de pagina opnieuw op wedstrijd.status = WEDSTRIJD_STATUS_GEANNULEERD wedstrijd.save() with self.assert_max_queries(20): resp = self.client.get(url) self.assertEqual(resp.status_code, 200) # 200 = OK self.assert_html_ok(resp) # probeer wijzigingen te doen aan een geannuleerde wedstrijd datum = '%s-2-2' % wedstrijd.datum_begin.year oude_datum_begin = wedstrijd.datum_begin oude_datum_einde = wedstrijd.datum_einde with self.assert_max_queries(20): resp = self.client.post( url, { 'titel': 'Test Titel 2', # mag wel 'datum_begin': datum, 'wedstrijd_duur': 'duur_1', 'contact_naam': 'Test Naam 2', 'contact_email': 'Test Email 2', 'contact_website': 'Test Website 2', 'contact_telefoon': 'Test Telefoon 2', 'aantal_banen': '40', 'discipline': 'disc_3D', 'wa_status': 'wa_B', 'scheidsrechters': 'Scheids3', 'begrenzing': 'begrenzing_Y', 'extern': 'nee' }) self.assert_is_redirect(resp, self.url_kalender_vereniging) wedstrijd = KalenderWedstrijd.objects.get(pk=wedstrijd.pk) self.assertEqual(wedstrijd.titel, 'Test Titel 2') self.assertEqual(wedstrijd.datum_begin, oude_datum_begin) self.assertEqual(wedstrijd.datum_einde, oude_datum_einde) self.assertEqual(wedstrijd.contact_naam, 'Test Naam 3') self.assertEqual(wedstrijd.contact_email, 'Test Email 3') self.assertEqual(wedstrijd.contact_website, 'http://test3.website.nl') self.assertEqual(wedstrijd.contact_telefoon, 'Test Telefoon 3') self.assertEqual(wedstrijd.aantal_banen, 42) self.assertEqual(wedstrijd.discipline, 'OD') self.assertEqual(wedstrijd.scheidsrechters, 'Scheids1\nScheids2') self.assertEqual(wedstrijd.begrenzing, 'V') self.assertTrue(wedstrijd.extern_beheerd) # niet bestaande wedstrijd resp = self.client.get(self.url_kalender_wijzig_wedstrijd % 999999) self.assert404(resp) resp = self.client.post(self.url_kalender_wijzig_wedstrijd % 999999) self.assert404(resp) # nu als BB self.e2e_wisselnaarrol_bb() with self.assert_max_queries(20): resp = self.client.get(url) self.assertEqual(resp.status_code, 200) # 200 = OK self.assert_html_ok(resp) self.assert_template_used( resp, ('kalender/wijzig-wedstrijd.dtl', 'plein/site_layout.dtl')) wedstrijd.status = 'W' # wacht op goedkeuring wedstrijd.save() with self.assert_max_queries(20): resp = self.client.get(url) self.assertEqual(resp.status_code, 200) # 200 = OK wedstrijd.status = 'A' # geaccepteerd wedstrijd.save() with self.assert_max_queries(20): resp = self.client.get(url) self.assertEqual(resp.status_code, 200) # 200 = OK with self.assert_max_queries(20): resp = self.client.post(url, {'titel': 'Aangepast door BB'}) self.assert_is_redirect(resp, self.url_kalender_manager) wedstrijd.status = 'X' # geannuleerd wedstrijd.save() with self.assert_max_queries(20): resp = self.client.get(url) self.assertEqual(resp.status_code, 200) # 200 = OK # echt verwijderen van de wedstrijd wedstrijd.status = 'O' # ontwerp wedstrijd.save() self.assertEqual(1, KalenderWedstrijd.objects.count()) with self.assert_max_queries(20): resp = self.client.post(url, {'verwijder_wedstrijd': 'ja'}) self.assert_is_redirect(resp, self.url_kalender_manager) self.assertEqual(0, KalenderWedstrijd.objects.count()) self.e2e_assert_other_http_commands_not_supported(url, post=False) def test_wijzig_bad(self): self.e2e_login_and_pass_otp(self.account_admin) # wissel naar HWL en maak een wedstrijd aan self.e2e_wissel_naar_functie(self.functie_hwl) self._maak_externe_locatie(self.nhbver1) resp = self.client.post(self.url_kalender_vereniging, {'nieuwe_wedstrijd': 'ja'}) self.assert_is_redirect(resp, self.url_kalender_vereniging) self.assertEqual(1, KalenderWedstrijd.objects.count()) wedstrijd = KalenderWedstrijd.objects.all()[0] url = self.url_kalender_wijzig_wedstrijd % wedstrijd.pk # wijzig velden via de 'post' interface with self.assert_max_queries(20): resp = self.client.post(url, {}) # geen parameters self.assert_is_redirect(resp, self.url_kalender_vereniging) # geen valide datum (parsing exception) with self.assert_max_queries(20): resp = self.client.post(url, {'datum_begin': 'not-a-date'}) self.assert404(resp) # te ver in het verleden with self.assert_max_queries(20): resp = self.client.post(url, {'datum_begin': '2000-01-02'}) self.assert_is_redirect(resp, self.url_kalender_vereniging) with self.assert_max_queries(20): resp = self.client.post(url, {'wedstrijd_duur': 'duur_'}) self.assert404(resp) # illegaal aantal banen with self.assert_max_queries(20): resp = self.client.post(url, {'aantal_banen': 'x'}) self.assert404(resp) # niet bestaande locatie # en niet bekende aanwezigheid with self.assert_max_queries(20): resp = self.client.post(url, { 'locatie': 'loc_99999', 'aanwezig': 'aanwezig_99' }) self.assert_is_redirect(resp, self.url_kalender_vereniging) # verwijderen in verkeerde fase for status in "WAX": wedstrijd.status = status wedstrijd.save() with self.assert_max_queries(20): resp = self.client.post(url, {'verwijder_wedstrijd': 'ja'}) self.assert_is_redirect(resp, self.url_kalender_vereniging) wedstrijd = KalenderWedstrijd.objects.get( pk=wedstrijd.pk) # nog steeds aanwezig? # for # verkeerder vereniging wedstrijd.organiserende_vereniging = self.nhbver2 wedstrijd.save() with self.assert_max_queries(20): resp = self.client.get(url) self.assert403(resp) with self.assert_max_queries(20): resp = self.client.post(url, {}) self.assert403(resp) def test_zet_status(self): self.e2e_login_and_pass_otp(self.account_admin) # wissel naar HWL en maak een wedstrijd aan self.e2e_wissel_naar_functie(self.functie_hwl) self._maak_externe_locatie(self.nhbver1) resp = self.client.post(self.url_kalender_vereniging, {'nieuwe_wedstrijd': 'ja'}) self.assert_is_redirect(resp, self.url_kalender_vereniging) self.assertEqual(1, KalenderWedstrijd.objects.count()) wedstrijd = KalenderWedstrijd.objects.all()[0] url = self.url_kalender_zet_status % wedstrijd.pk with self.assert_max_queries(20): resp = self.client.post(url, {}) self.assert_is_redirect(resp, self.url_kalender_vereniging) # doorzetten naar 'Wacht op goedkeuring' with self.assert_max_queries(20): resp = self.client.post(url, {'verder': 'ja'}) self.assert_is_redirect(resp, self.url_kalender_vereniging) wedstrijd = KalenderWedstrijd.objects.get(pk=wedstrijd.pk) self.assertEqual(wedstrijd.status, 'W') # verkeerde vereniging wedstrijd.organiserende_vereniging = self.nhbver2 wedstrijd.save() with self.assert_max_queries(20): resp = self.client.post(url, {'verder': 'ja'}) self.assert403(resp) wedstrijd.organiserende_vereniging = self.nhbver1 wedstrijd.save() # nu als BB self.e2e_wisselnaarrol_bb() with self.assert_max_queries(20): resp = self.client.post(url, {}) self.assert_is_redirect(resp, self.url_kalender_manager) # van Wacht-op-goedkeuring terug naar Ontwerp with self.assert_max_queries(20): resp = self.client.post(url, {'terug': 'ja'}) self.assert_is_redirect(resp, self.url_kalender_manager) wedstrijd = KalenderWedstrijd.objects.get(pk=wedstrijd.pk) self.assertEqual(wedstrijd.status, 'O') # vanuit ontwerp blijf je in Ontwerp with self.assert_max_queries(20): resp = self.client.post(url, {}) self.assert_is_redirect(resp, self.url_kalender_manager) # van Ontwerp weer naar Wacht-op-goedkeuring with self.assert_max_queries(20): resp = self.client.post(url, {'verder': 'ja'}) self.assert_is_redirect(resp, self.url_kalender_manager) wedstrijd = KalenderWedstrijd.objects.get(pk=wedstrijd.pk) self.assertEqual(wedstrijd.status, 'W') # van Wacht-op-goedkeuring door naar Geaccepteerd with self.assert_max_queries(20): resp = self.client.post(url, {'verder': 'ja'}) self.assert_is_redirect(resp, self.url_kalender_manager) wedstrijd = KalenderWedstrijd.objects.get(pk=wedstrijd.pk) self.assertEqual(wedstrijd.status, 'A') # van Geaccepteerd kan je niet verder of terug with self.assert_max_queries(20): resp = self.client.post(url, {'verder': 'ja'}) self.assert_is_redirect(resp, self.url_kalender_manager) wedstrijd = KalenderWedstrijd.objects.get(pk=wedstrijd.pk) self.assertEqual(wedstrijd.status, 'A') with self.assert_max_queries(20): resp = self.client.post(url, {'terug': 'ja'}) self.assert_is_redirect(resp, self.url_kalender_manager) wedstrijd = KalenderWedstrijd.objects.get(pk=wedstrijd.pk) self.assertEqual(wedstrijd.status, 'A') # Annuleer for status in "OWAX": wedstrijd.status = status wedstrijd.save() with self.assert_max_queries(20): resp = self.client.post(url, {'annuleer': 'ja'}) self.assert_is_redirect(resp, self.url_kalender_manager) wedstrijd = KalenderWedstrijd.objects.get(pk=wedstrijd.pk) self.assertEqual(wedstrijd.status, 'X') # for # slechte wedstrijd_pk with self.assert_max_queries(20): resp = self.client.post(self.url_kalender_zet_status % 999999, {}) self.assert404(resp) def test_wijzig_wedstrijd_datum(self): # wordt HWL self.e2e_login_and_pass_otp(self.account_admin) self.e2e_wissel_naar_functie(self.functie_hwl) # maak een wedstrijd en sessie aan self._maak_externe_locatie(self.nhbver1) resp = self.client.post(self.url_kalender_vereniging, {'nieuwe_wedstrijd': 'ja'}) self.assert_is_redirect(resp, self.url_kalender_vereniging) self.assertEqual(1, KalenderWedstrijd.objects.count()) wedstrijd = KalenderWedstrijd.objects.all()[0] url = self.url_kalender_sessies % wedstrijd.pk resp = self.client.post(url, {'nieuwe_sessie': 'graag'}) self.assert_is_redirect(resp, url) self.assertEqual(1, KalenderWedstrijdSessie.objects.count()) sessie = KalenderWedstrijdSessie.objects.all()[0] # wijzig de wedstrijd datum en controleer dat de sessie mee gaat self.assertEqual(sessie.datum, wedstrijd.datum_begin) url = self.url_kalender_wijzig_wedstrijd % wedstrijd.pk datum = wedstrijd.datum_begin + datetime.timedelta(days=3) resp = self.client.post(url, {'datum_begin': str(datum)}) self.assert_is_redirect_not_plein(resp) wedstrijd = KalenderWedstrijd.objects.get(pk=wedstrijd.pk) sessie = KalenderWedstrijdSessie.objects.get(pk=sessie.pk) self.assertEqual(wedstrijd.datum_begin, datum) self.assertEqual(sessie.datum, datum) def test_vastpinnen(self): # controleer dat sessies en boogtypen niet aangepast kunnen worden als ze in gebruik zijn # wordt HWL self.e2e_login_and_pass_otp(self.account_admin) self.e2e_wissel_naar_functie(self.functie_hwl) # maak een wedstrijd met twee sessies aan self._maak_externe_locatie(self.nhbver1) resp = self.client.post(self.url_kalender_vereniging, {'nieuwe_wedstrijd': 'ja'}) self.assert_is_redirect(resp, self.url_kalender_vereniging) self.assertEqual(1, KalenderWedstrijd.objects.count()) wedstrijd = KalenderWedstrijd.objects.all()[0] self.assertEqual(wedstrijd.boogtypen.count(), 5) self.assertEqual(wedstrijd.wedstrijdklassen.count(), 40) url = self.url_kalender_sessies % wedstrijd.pk resp = self.client.post(url, {'nieuwe_sessie': 'graag'}) self.assert_is_redirect(resp, url) resp = self.client.post(url, {'nieuwe_sessie': 'graag'}) self.assert_is_redirect(resp, url) self.assertEqual(2, KalenderWedstrijdSessie.objects.count()) sessie = KalenderWedstrijdSessie.objects.all()[0] sessie2 = KalenderWedstrijdSessie.objects.all()[1] wkl = wedstrijd.wedstrijdklassen.get( beschrijving='Recurve master vrouwen') sessie2.wedstrijdklassen.add(wkl) wkl = wedstrijd.wedstrijdklassen.get( beschrijving='Recurve master mannen') wkl_pks = list(wedstrijd.wedstrijdklassen.values_list('pk', flat=True)) sessie.wedstrijdklassen.add(wkl) sessie2.wedstrijdklassen.add(wkl) # zet een paar boogtypen uit url = self.url_kalender_wijzig_wedstrijd % wedstrijd.pk post_data = dict() post_data['boog_R'] = 'on' post_data['boog_C'] = 'on' for pk in wkl_pks: post_data['klasse_%s' % pk] = 'on' # for with self.assert_max_queries(20): resp = self.client.post(url, post_data) self.assert_is_redirect_not_plein(resp) self.assertEqual(wedstrijd.boogtypen.count(), 2) # alleen R en C self.assertEqual(wedstrijd.wedstrijdklassen.count(), 16) # alleen R en C klassen # kies een wedstrijdklasse in een sessie sessie.wedstrijdklassen.add(wkl) # probeer nu de recurve boog uit te zetten del post_data['boog_R'] with self.assert_max_queries(20): resp = self.client.post(url, post_data) self.assert_is_redirect_not_plein(resp) self.assertEqual(wedstrijd.boogtypen.count(), 2) # alleen R en C # probeer nu alle wedstrijdklassen uit te zetten with self.assert_max_queries(20): resp = self.client.post(url, {}) self.assert_is_redirect_not_plein(resp) self.assertEqual(wedstrijd.boogtypen.count(), 1) # alleen R self.assertEqual(wedstrijd.wedstrijdklassen.count(), 2) # alleen de in de sessies gebruikte klassen # doe een GET, voor de coverage with self.assert_max_queries(20): resp = self.client.get(url) self.assertEqual(resp.status_code, 200)
class TestKalenderSessies(E2EHelpers, TestCase): """ tests voor de Kalender applicatie """ url_kalender_vereniging = '/kalender/vereniging/' url_kalender_sessies = '/kalender/%s/sessies/' # wedstrijd_pk url_kalender_wijzig_sessie = '/kalender/%s/sessies/%s/wijzig/' # wedstrijd_pk, sessie_pk def setUp(self): """ initialisatie van de test case """ self.account_admin = self.e2e_create_account_admin() self.account_admin.is_BB = True self.account_admin.save() sporter = Sporter(lid_nr=100000, voornaam='Ad', achternaam='de Admin', geboorte_datum='1966-06-06', sinds_datum='2020-02-02', account=self.account_admin) sporter.save() # maak een test vereniging self.nhbver1 = NhbVereniging(ver_nr=1000, naam="Grote Club", regio=NhbRegio.objects.get(regio_nr=112)) self.nhbver1.save() self.functie_hwl = maak_functie('HWL Ver 1000', 'HWL') self.functie_hwl.nhb_ver = self.nhbver1 self.functie_hwl.accounts.add(self.account_admin) self.functie_hwl.save() self.nhbver2 = NhbVereniging(ver_nr=1001, naam="Kleine Club", regio=NhbRegio.objects.get(regio_nr=112)) self.nhbver2.save() @staticmethod def _maak_externe_locatie(ver): # voeg een locatie toe locatie = WedstrijdLocatie( baan_type='E', # externe locatie naam='Test locatie') locatie.save() locatie.verenigingen.add(ver) return locatie def test_sessies(self): self.e2e_login_and_pass_otp(self.account_admin) # wissel naar HWL en maak een wedstrijd aan self.e2e_wissel_naar_functie(self.functie_hwl) self._maak_externe_locatie(self.nhbver1) resp = self.client.post(self.url_kalender_vereniging, {'nieuwe_wedstrijd': 'ja'}) self.assert_is_redirect(resp, self.url_kalender_vereniging) self.assertEqual(1, KalenderWedstrijd.objects.count()) wedstrijd = KalenderWedstrijd.objects.all()[0] url = self.url_kalender_sessies % wedstrijd.pk # haal de sessie op with self.assert_max_queries(20): resp = self.client.get(url) self.assertEqual(resp.status_code, 200) # 200 = OK self.assert_html_ok(resp) self.assert_template_used( resp, ('kalender/wijzig-sessies.dtl', 'plein/site_layout.dtl')) # post zonder actie with self.assert_max_queries(20): resp = self.client.post(url) self.assert_is_redirect(resp, url) # nieuwe sessie with self.assert_max_queries(20): resp = self.client.post(url, {'nieuwe_sessie': 'graag'}) self.assert_is_redirect(resp, url) # schakel naar BB rol self.e2e_wisselnaarrol_bb() with self.assert_max_queries(20): resp = self.client.get(url) self.assertEqual(resp.status_code, 200) # 200 = OK self.assert_html_ok(resp) self.assert_template_used( resp, ('kalender/wijzig-sessies.dtl', 'plein/site_layout.dtl')) # annuleer de wedstrijd wedstrijd.status = 'X' wedstrijd.save() with self.assert_max_queries(20): resp = self.client.get(url) self.assertEqual(resp.status_code, 200) # 200 = OK self.assert_html_ok(resp) self.e2e_assert_other_http_commands_not_supported(url, post=False) def test_sessies_bad(self): # wordt HWL self.e2e_login_and_pass_otp(self.account_admin) self.e2e_wissel_naar_functie(self.functie_hwl) # niet bestaande sessie with self.assert_max_queries(20): resp = self.client.get(self.url_kalender_sessies % 99999) self.assert404(resp) with self.assert_max_queries(20): resp = self.client.post(self.url_kalender_sessies % 99999) self.assert404(resp) # maak een wedstrijd aan en wissel die naar een andere vereniging self._maak_externe_locatie(self.nhbver1) resp = self.client.post(self.url_kalender_vereniging, {'nieuwe_wedstrijd': 'ja'}) self.assert_is_redirect(resp, self.url_kalender_vereniging) self.assertEqual(1, KalenderWedstrijd.objects.count()) wedstrijd = KalenderWedstrijd.objects.all()[0] wedstrijd.organiserende_vereniging = self.nhbver2 wedstrijd.save() # verkeerde vereniging url = self.url_kalender_sessies % wedstrijd.pk with self.assert_max_queries(20): resp = self.client.get(url) self.assert403(resp) with self.assert_max_queries(20): resp = self.client.post(url) self.assert403(resp) def test_wijzig_sessie(self): # wordt HWL self.e2e_login_and_pass_otp(self.account_admin) self.e2e_wissel_naar_functie(self.functie_hwl) # maak een wedstrijd en sessie aan self._maak_externe_locatie(self.nhbver1) resp = self.client.post(self.url_kalender_vereniging, {'nieuwe_wedstrijd': 'ja'}) self.assert_is_redirect(resp, self.url_kalender_vereniging) self.assertEqual(1, KalenderWedstrijd.objects.count()) wedstrijd = KalenderWedstrijd.objects.all()[0] wedstrijd.datum_einde = wedstrijd.datum_begin + datetime.timedelta( days=2) wedstrijd.save() url = self.url_kalender_sessies % wedstrijd.pk resp = self.client.post(url, {'nieuwe_sessie': 'graag'}) self.assert_is_redirect(resp, url) self.assertEqual(1, KalenderWedstrijdSessie.objects.count()) sessie = KalenderWedstrijdSessie.objects.all()[0] # haal de wijzig pagina op url = self.url_kalender_wijzig_sessie % (wedstrijd.pk, sessie.pk) with self.assert_max_queries(20): resp = self.client.get(url) self.assertEqual(resp.status_code, 200) # 200 = OK self.assert_html_ok(resp) self.assert_template_used( resp, ('kalender/wijzig-sessie.dtl', 'plein/site_layout.dtl')) # lege post with self.assert_max_queries(20): resp = self.client.post(url) self.assert_is_redirect(resp, self.url_kalender_sessies % wedstrijd.pk) # zet de datum op de 3 mogelijkheden with self.assert_max_queries(20): resp = self.client.post(url, {'datum': 'datum_2'}) self.assert_is_redirect(resp, self.url_kalender_sessies % wedstrijd.pk) sessie = KalenderWedstrijdSessie.objects.get(pk=sessie.pk) self.assertEqual(sessie.datum, wedstrijd.datum_einde) with self.assert_max_queries(20): resp = self.client.post(url, {'datum': 'datum_0'}) self.assert_is_redirect(resp, self.url_kalender_sessies % wedstrijd.pk) sessie = KalenderWedstrijdSessie.objects.get(pk=sessie.pk) self.assertEqual(sessie.datum, wedstrijd.datum_begin) wkl = wedstrijd.wedstrijdklassen.all()[0] # wijzig een aantal parameters en koppel een wedstrijdklasse with self.assert_max_queries(20): resp = self.client.post( url, { 'datum': 'datum_0', 'tijd_begin': '12:34', 'duur': 'duur_60', 'max_sporters': '42', 'klasse_%s' % wkl.pk: 'jo!' }) self.assert_is_redirect(resp, self.url_kalender_sessies % wedstrijd.pk) sessie = KalenderWedstrijdSessie.objects.get(pk=sessie.pk) self.assertEqual(sessie.datum, wedstrijd.datum_begin) self.assertEqual(sessie.tijd_begin.hour, 12) self.assertEqual(sessie.tijd_begin.minute, 34) self.assertEqual(str(sessie.tijd_einde), '13:34:00') self.assertEqual(sessie.max_sporters, 42) # test de tijdstippen voor een nachtverschieting with self.assert_max_queries(20): resp = self.client.post(url, { 'tijd_begin': '23:30', 'duur': 'duur_90' }) self.assert_is_redirect(resp, self.url_kalender_sessies % wedstrijd.pk) sessie = KalenderWedstrijdSessie.objects.get(pk=sessie.pk) self.assertEqual(str(sessie.tijd_begin), '23:30:00') self.assertEqual(str(sessie.tijd_einde), '01:00:00') with self.assert_max_queries(20): resp = self.client.post(url, { 'tijd_begin': '22:00', 'duur': 'duur_120' }) self.assert_is_redirect(resp, self.url_kalender_sessies % wedstrijd.pk) sessie = KalenderWedstrijdSessie.objects.get(pk=sessie.pk) self.assertEqual(str(sessie.tijd_begin), '22:00:00') self.assertEqual(str(sessie.tijd_einde), '00:00:00') with self.assert_max_queries(20): resp = self.client.get(url) self.assertEqual(resp.status_code, 200) # 200 = OK self.assert_html_ok(resp) self.assert_template_used( resp, ('kalender/wijzig-sessie.dtl', 'plein/site_layout.dtl')) # annuleer de wedstrijd old_status = wedstrijd.status wedstrijd.status = WEDSTRIJD_STATUS_GEANNULEERD wedstrijd.save() with self.assert_max_queries(20): resp = self.client.get(url) self.assertEqual(resp.status_code, 200) # 200 = OK self.assert_html_ok(resp) self.assert_template_used( resp, ('kalender/wijzig-sessie.dtl', 'plein/site_layout.dtl')) # verwijder de sessie self.assertEqual(1, KalenderWedstrijdSessie.objects.count()) with self.assert_max_queries(20): resp = self.client.post(url, {'verwijder_sessie': 'graag'}) self.assert404(resp) self.assertEqual(1, KalenderWedstrijdSessie.objects.count()) # herstel de wedstrijd wedstrijd.status = old_status wedstrijd.save() # verwijder de sessie with self.assert_max_queries(20): resp = self.client.post(url, {'verwijder_sessie': 'graag'}) self.assert_is_redirect(resp, self.url_kalender_sessies % wedstrijd.pk) self.assertEqual(0, KalenderWedstrijdSessie.objects.count()) self.e2e_assert_other_http_commands_not_supported(url, post=False) def test_wijzig_sessie_bad(self): # wordt HWL self.e2e_login_and_pass_otp(self.account_admin) self.e2e_wissel_naar_functie(self.functie_hwl) # maak een wedstrijd en sessie aan self._maak_externe_locatie(self.nhbver1) resp = self.client.post(self.url_kalender_vereniging, {'nieuwe_wedstrijd': 'ja'}) self.assert_is_redirect(resp, self.url_kalender_vereniging) self.assertEqual(1, KalenderWedstrijd.objects.count()) wedstrijd = KalenderWedstrijd.objects.all()[0] url = self.url_kalender_sessies % wedstrijd.pk resp = self.client.post(url, {'nieuwe_sessie': 'graag'}) self.assert_is_redirect(resp, url) self.assertEqual(1, KalenderWedstrijdSessie.objects.count()) sessie = KalenderWedstrijdSessie.objects.all()[0] # niet bestaande wedstrijd url = self.url_kalender_wijzig_sessie % (999999, 0) resp = self.client.get(url) self.assert404(resp) resp = self.client.post(url) self.assert404(resp) # niet bestaande sessie url = self.url_kalender_wijzig_sessie % (wedstrijd.pk, 999999) resp = self.client.get(url) self.assert404(resp) resp = self.client.post(url) self.assert404(resp) url = self.url_kalender_wijzig_sessie % (wedstrijd.pk, sessie.pk) # slechte datum en tijd oude_datum = sessie.datum self.client.post(url, {'datum': 'datum_999'}) sessie = KalenderWedstrijdSessie.objects.get(pk=sessie.pk) self.assertEqual(oude_datum, sessie.datum) # slechte tijd resp = self.client.post(url, {'tijd_begin': 'hoi'}) self.assert404(resp) resp = self.client.post(url, {'tijd_begin': '24:60'}) self.assert404(resp) # goede tijd, slechte duur resp = self.client.post(url, {'tijd_begin': '10:30', 'duur': 'hoi'}) self.assert_is_redirect_not_plein(resp) resp = self.client.post(url, { 'tijd_begin': '10:30', 'duur': 'duur_99999' }) self.assert_is_redirect_not_plein(resp) # slecht aantal sporters resp = self.client.post(url, {'max_sporters': 'hoi'}) self.assert404(resp) resp = self.client.post(url, {'max_sporters': '-1'}) self.assert404(resp) resp = self.client.post(url, {'max_sporters': 0.141}) self.assert404(resp) resp = self.client.post(url, {'max_sporters': '0'}) self.assert404(resp) resp = self.client.post(url, {'max_sporters': '1000'}) self.assert404(resp) # niet van deze vereniging wedstrijd.organiserende_vereniging = self.nhbver2 wedstrijd.save() url = self.url_kalender_wijzig_sessie % (wedstrijd.pk, sessie.pk) resp = self.client.get(url) self.assert403(resp) resp = self.client.post(url) self.assert403(resp) # maak nog een wedstrijd en sessie aan self.client.post(self.url_kalender_vereniging, {'nieuwe_wedstrijd': 'ja'}) self.assertEqual(2, KalenderWedstrijd.objects.count()) wedstrijd2 = KalenderWedstrijd.objects.exclude(pk=wedstrijd.pk)[0] url = self.url_kalender_sessies % wedstrijd2.pk resp = self.client.post(url, {'nieuwe_sessie': 'graag'}) self.assert_is_redirect(resp, url) self.assertEqual(2, KalenderWedstrijdSessie.objects.count()) sessie2 = KalenderWedstrijdSessie.objects.exclude(pk=sessie.pk)[0] # mix de twee: sessie hoort niet bij wedstrijd url = self.url_kalender_wijzig_sessie % (wedstrijd2.pk, sessie.pk) resp = self.client.get(url) self.assert404(resp) resp = self.client.post(url) self.assert404(resp)
def setUp(self): """ eenmalige setup voor alle tests wordt als eerste aangeroepen """ self._next_lid_nr = 100001 self.rayon_2 = NhbRayon.objects.get(rayon_nr=2) self.regio_101 = NhbRegio.objects.get(regio_nr=101) # maak een test vereniging ver = NhbVereniging() ver.naam = "Grote Club" ver.ver_nr = "1000" ver.regio = self.regio_101 # secretaris kan nog niet ingevuld worden ver.save() self._ver = ver self.nhb_ver1 = ver # maak HWL functie aan voor deze vereniging self.functie_hwl = maak_functie("HWL Vereniging %s" % ver.ver_nr, "HWL") self.functie_hwl.nhb_ver = ver self.functie_hwl.save() # maak test leden aan die we kunnen koppelen aan beheerders functies self.account_bko = self._prep_beheerder_lid('BKO') self.account_rko = self._prep_beheerder_lid('RKO') self.account_rcl = self._prep_beheerder_lid('RCL') self.account_hwl = self._prep_beheerder_lid('HWL') self.account_schutter = self._prep_beheerder_lid('Schutter') # creëer een competitie met deelcompetities competities_aanmaken(jaar=2019) self.functie_bko = DeelCompetitie.objects.filter( laag=LAAG_BK)[0].functie self.functie_rko = DeelCompetitie.objects.filter( laag=LAAG_RK, nhb_rayon=self.rayon_2)[0].functie self.functie_rcl = DeelCompetitie.objects.filter( laag=LAAG_REGIO, nhb_regio=self.regio_101)[0].functie self.functie_bko.accounts.add(self.account_bko) self.functie_rko.accounts.add(self.account_rko) self.functie_rcl.accounts.add(self.account_rcl) self.functie_hwl.accounts.add(self.account_hwl) # maak nog een test vereniging, zonder HWL functie ver = NhbVereniging() ver.naam = "Kleine Club" ver.ver_nr = "1100" ver.regio = self.regio_101 # secretaris kan nog niet ingevuld worden ver.save() # stop de vereniging in clusters cluster = NhbCluster.objects.filter(regio=ver.regio, gebruik='18').all()[0] ver.clusters.add(cluster) cluster = NhbCluster.objects.filter(regio=ver.regio, gebruik='25').all()[2] ver.clusters.add(cluster) self.nhb_ver2 = ver
def test_check_beheerders(self): f1 = io.StringIO() f2 = io.StringIO() with self.assert_max_queries(20): management.call_command('check_beheerders', stderr=f1, stdout=f2) self.assertTrue(f1.getvalue() == '') # geen foutmeldingen # koppel een account aan een functie, maar geen sporter self.functie_hwl.accounts.add(self.account_normaal) f1 = io.StringIO() f2 = io.StringIO() with self.assert_max_queries(20): management.call_command('check_beheerders', stderr=f1, stdout=f2) self.assertTrue(f1.getvalue() == '') self.assertTrue("LET OP: geen koppeling met NHB lid" in f2.getvalue()) # maak account ook nhblid sporter = Sporter(lid_nr=100042, voornaam='Kees', achternaam='Pijlpunt', email='*****@*****.**', geboorte_datum='1900-10-20', geslacht='M', para_classificatie='', is_actief_lid=False, sinds_datum='2020-02-20', bij_vereniging=None, lid_tot_einde_jaar=0, account=self.account_normaal) sporter.save() f1 = io.StringIO() f2 = io.StringIO() with self.assert_max_queries(20): management.call_command('check_beheerders', stderr=f1, stdout=f2) self.assertTrue(f1.getvalue() == '') self.assertTrue( "LET OP: geen lid meer bij een vereniging" in f2.getvalue()) # maak lid bij een andere vereniging ver = NhbVereniging(ver_nr=1042, naam="Andere club", plaats="Overkantje", regio=self.nhbver1.regio) ver.save() sporter.is_actief_lid = True sporter.bij_vereniging = ver sporter.save() f1 = io.StringIO() f2 = io.StringIO() with self.assert_max_queries(20): management.call_command('check_beheerders', stderr=f1, stdout=f2) self.assertTrue(f1.getvalue() == '') self.assertTrue( "LET OP: geen lid bij deze vereniging" in f2.getvalue()) # nu alles goed zetten sporter.bij_vereniging = self.nhbver1 sporter.save() f1 = io.StringIO() f2 = io.StringIO() with self.assert_max_queries(20): management.call_command('check_beheerders', stderr=f1, stdout=f2) # print('f1:', f1.getvalue()) # print('f2:', f2.getvalue()) self.assertTrue(f1.getvalue() == '') self.assertFalse("LET OP:" in f2.getvalue())
class TestKalender(E2EHelpers, TestCase): """ tests voor de Kalender applicatie """ url_kalender = '/kalender/' url_kalender_manager = '/kalender/manager/' url_kalender_vereniging = '/kalender/vereniging/' url_kalender_wijzig_wedstrijd = '/kalender/%s/wijzig/' # wedstrijd_pk def setUp(self): """ initialisatie van de test case """ self.account_admin = self.e2e_create_account_admin() self.account_admin.is_BB = True self.account_admin.save() sporter = Sporter(lid_nr=100000, voornaam='Ad', achternaam='de Admin', geboorte_datum='1966-06-06', sinds_datum='2020-02-02', account=self.account_admin) sporter.save() # maak een test vereniging self.nhbver1 = NhbVereniging(ver_nr=1000, naam="Grote Club", regio=NhbRegio.objects.get(regio_nr=112)) self.nhbver1.save() self.functie_hwl = maak_functie('HWL Ver 1000', 'HWL') self.functie_hwl.nhb_ver = self.nhbver1 self.functie_hwl.accounts.add(self.account_admin) self.functie_hwl.save() self.nhbver2 = NhbVereniging(ver_nr=1001, naam="Kleine Club", regio=NhbRegio.objects.get(regio_nr=112)) self.nhbver2.save() @staticmethod def _maak_externe_locatie(ver): # voeg een locatie toe locatie = WedstrijdLocatie( baan_type='E', # externe locatie naam='Test locatie') locatie.save() locatie.verenigingen.add(ver) return locatie def test_anon(self): self.client.logout() with self.assert_max_queries(20): resp = self.client.get(self.url_kalender) self.assert_is_redirect_not_plein(resp) resp = self.client.get(self.url_kalender_manager) self.assert403(resp) resp = self.client.get(self.url_kalender_vereniging) self.assert403(resp) resp = self.client.get(self.url_kalender_wijzig_wedstrijd % 0) self.assert403(resp) self.e2e_assert_other_http_commands_not_supported(self.url_kalender) def test_gebruiker(self): self.client.logout() # haal de url op van de eerste pagina with self.assert_max_queries(20): resp = self.client.get(self.url_kalender) url = resp.url with self.assert_max_queries(20): resp = self.client.get(url) self.assertEqual(resp.status_code, 200) # 200 = OK self.assert_html_ok(resp) self.assert_template_used( resp, ('kalender/overzicht-maand.dtl', 'plein/site_layout.dtl')) self.e2e_assert_other_http_commands_not_supported(url) def test_bb(self): self.e2e_login_and_pass_otp(self.account_admin) self.e2e_wisselnaarrol_bb() resp = self.client.get(self.url_kalender) self.assert_is_redirect(resp, self.url_kalender_manager) resp = self.client.get(self.url_kalender_vereniging) self.assert403(resp) with self.assert_max_queries(20): resp = self.client.get(self.url_kalender_manager) self.assertEqual(resp.status_code, 200) # 200 = OK self.assert_html_ok(resp) self.assert_template_used( resp, ('kalender/overzicht-manager.dtl', 'plein/site_layout.dtl')) # wissel naar HWL en maak een wedstrijd aan self.e2e_wissel_naar_functie(self.functie_hwl) self._maak_externe_locatie(self.nhbver1) resp = self.client.post(self.url_kalender_vereniging, {'nieuwe_wedstrijd': 'ja'}) self.assert_is_redirect(resp, self.url_kalender_vereniging) # wissel terug naar BB self.e2e_wisselnaarrol_bb() with self.assert_max_queries(20): resp = self.client.get(self.url_kalender_manager) self.assertEqual(resp.status_code, 200) # 200 = OK self.assert_html_ok(resp) self.assert_template_used( resp, ('kalender/overzicht-manager.dtl', 'plein/site_layout.dtl')) self.e2e_assert_other_http_commands_not_supported( self.url_kalender_manager, post=False) def test_hwl(self): self.e2e_login_and_pass_otp(self.account_admin) self.e2e_wissel_naar_functie(self.functie_hwl) resp = self.client.get(self.url_kalender) self.assert_is_redirect(resp, self.url_kalender_vereniging) resp = self.client.get(self.url_kalender_manager) self.assert403(resp) with self.assert_max_queries(20): resp = self.client.get(self.url_kalender_vereniging) self.assertEqual(resp.status_code, 200) # 200 = OK self.assert_html_ok(resp) self.assert_template_used( resp, ('kalender/overzicht-vereniging.dtl', 'plein/site_layout.dtl')) self.e2e_assert_other_http_commands_not_supported( self.url_kalender_vereniging, post=False) # gebruik de post interface zonder verzoek self.assertEqual(0, KalenderWedstrijd.objects.count()) with self.assert_max_queries(20): resp = self.client.post(self.url_kalender_vereniging) self.assert_is_redirect(resp, self.url_kalender_vereniging) self.assertEqual(0, KalenderWedstrijd.objects.count()) # wedstrijd aanmaken zonder dat de vereniging een externe locatie heeft with self.assert_max_queries(20): resp = self.client.post(self.url_kalender_vereniging, {'nieuwe_wedstrijd': 'ja'}) self.assert_is_redirect(resp, self.url_kalender_vereniging) self.assertEqual(0, KalenderWedstrijd.objects.count()) # maak een wedstrijd aan self._maak_externe_locatie(self.nhbver1) with self.assert_max_queries(20): resp = self.client.post(self.url_kalender_vereniging, {'nieuwe_wedstrijd': 'ja'}) self.assert_is_redirect(resp, self.url_kalender_vereniging) self.assertEqual(1, KalenderWedstrijd.objects.count()) # haal de wedstrijd op with self.assert_max_queries(20): resp = self.client.get(self.url_kalender_vereniging) self.assertEqual(resp.status_code, 200) # 200 = OK self.assert_html_ok(resp) self.assert_template_used( resp, ('kalender/overzicht-vereniging.dtl', 'plein/site_layout.dtl'))
def setUp(self): """ eenmalige setup voor alle tests wordt als eerste aangeroepen """ self.regio_101 = NhbRegio.objects.get(regio_nr=101) # maak een test vereniging ver = NhbVereniging() ver.naam = "Grote Club" ver.ver_nr = 1000 ver.regio = self.regio_101 # secretaris kan nog niet ingevuld worden ver.save() obj = HistCompetitie() obj.seizoen = '2018/2019' obj.comp_type = '25' obj.klasse = 'Compound' obj.is_team = False obj.save() self.klasse_pk_leeg = obj.pk obj.pk = None obj.klasse = 'Recurve' obj.save() self.klasse_pk = obj.pk # maak een jeugdlid aan (komt in BB jeugd zonder klasse onbekend) sporter = Sporter() sporter.lid_nr = 100002 sporter.geslacht = "M" sporter.voornaam = "Ramon" sporter.achternaam = "het Testertje" sporter.email = "*****@*****.**" sporter.geboorte_datum = datetime.date(year=2019 - 15, month=3, day=4) sporter.sinds_datum = datetime.date(year=2015, month=11, day=12) sporter.bij_vereniging = ver sporter.account = self.e2e_create_account(sporter.lid_nr, sporter.email, sporter.voornaam) sporter.save() rec = HistCompetitieIndividueel() rec.histcompetitie = obj rec.rank = 1 rec.schutter_nr = sporter.lid_nr rec.schutter_naam = "wordt niet gebruikt" rec.vereniging_nr = ver.ver_nr rec.vereniging_naam = "wordt niet gebruikt" rec.score1 = 10 rec.score2 = 20 rec.score3 = 30 rec.score4 = 40 rec.score5 = 50 rec.score6 = 60 rec.score7 = 70 rec.laagste_score_nr = 1 rec.totaal = 80 rec.gemiddelde = 5.321 rec.save() self.indiv_rec_pk = rec.pk # maak nog een lid aan, met te weinig scores sporter = Sporter() sporter.lid_nr = 100003 sporter.geslacht = "V" sporter.voornaam = "Ramona" sporter.achternaam = "het Tester" sporter.email = "*****@*****.**" sporter.geboorte_datum = datetime.date(year=1969, month=3, day=4) sporter.sinds_datum = datetime.date(year=2010, month=11, day=12) sporter.bij_vereniging = ver sporter.account = self.e2e_create_account(sporter.lid_nr, sporter.email, sporter.voornaam) sporter.save() rec = HistCompetitieIndividueel() rec.histcompetitie = obj rec.rank = 1 rec.schutter_nr = sporter.lid_nr rec.schutter_naam = "wordt niet gebruikt" rec.vereniging_nr = ver.ver_nr rec.vereniging_naam = "wordt niet gebruikt" rec.score1 = 10 rec.score2 = 20 rec.score3 = 30 rec.score4 = 40 rec.score5 = 0 rec.score6 = 0 rec.score7 = 0 rec.laagste_score_nr = 1 rec.totaal = 80 rec.gemiddelde = 6.123 rec.save() # maak nog een inactief lid aan sporter = Sporter() sporter.lid_nr = 100004 sporter.geslacht = "V" sporter.voornaam = "Weg" sporter.achternaam = "Is Weg" sporter.email = "*****@*****.**" sporter.geboorte_datum = datetime.date(year=1969, month=3, day=4) sporter.sinds_datum = datetime.date(year=2010, month=11, day=12) sporter.bij_vereniging = None sporter.account = None sporter.save() rec = HistCompetitieIndividueel() rec.histcompetitie = obj rec.rank = 1 rec.schutter_nr = sporter.lid_nr rec.schutter_naam = "wordt niet gebruikt" rec.vereniging_nr = ver.ver_nr rec.vereniging_naam = "wordt niet gebruikt" rec.score1 = 10 rec.score2 = 20 rec.score3 = 30 rec.score4 = 40 rec.score5 = 50 rec.score6 = 60 rec.score7 = 0 rec.laagste_score_nr = 1 rec.totaal = 80 rec.gemiddelde = 7.123 rec.save() # maak nog een record aan voor een lid dat weg is rec = HistCompetitieIndividueel() rec.histcompetitie = obj rec.rank = 1 rec.schutter_nr = 999999 rec.schutter_naam = "wordt niet gebruikt" rec.vereniging_nr = ver.ver_nr rec.vereniging_naam = "wordt niet gebruikt" rec.score1 = 10 rec.score2 = 20 rec.score3 = 30 rec.score4 = 40 rec.score5 = 50 rec.score6 = 60 rec.score7 = 70 rec.laagste_score_nr = 1 rec.totaal = 80 rec.gemiddelde = 6.123 rec.save() # maak een aspirant aan (mag niet meedoen) sporter = Sporter() sporter.lid_nr = 100005 sporter.geslacht = "M" sporter.voornaam = "Appie" sporter.achternaam = "Rant" sporter.email = "*****@*****.**" sporter.geboorte_datum = datetime.date(year=2019 - 12, month=3, day=4) sporter.sinds_datum = datetime.date(year=2015, month=11, day=12) sporter.bij_vereniging = ver sporter.account = self.e2e_create_account(sporter.lid_nr, sporter.email, sporter.voornaam) sporter.save() rec = HistCompetitieIndividueel() rec.histcompetitie = obj rec.rank = 1 rec.schutter_nr = sporter.lid_nr rec.schutter_naam = "wordt niet gebruikt" rec.vereniging_nr = ver.ver_nr rec.vereniging_naam = "wordt niet gebruikt" rec.score1 = 10 rec.score2 = 20 rec.score3 = 30 rec.score4 = 40 rec.score5 = 50 rec.score6 = 60 rec.score7 = 70 rec.laagste_score_nr = 1 rec.totaal = 80 rec.gemiddelde = 9.998 rec.save()
def setUp(self): """ eenmalige setup voor alle tests wordt als eerste aangeroepen """ self.regio_111 = NhbRegio.objects.get(regio_nr=111) # maak een test vereniging ver = NhbVereniging() ver.naam = "Grote Club" ver.ver_nr = "1000" ver.regio = self.regio_111 # secretaris kan nog niet ingevuld worden ver.save() self.nhbver1 = ver # maak de HWL functie self.functie_hwl = maak_functie("HWL test", "HWL") self.functie_hwl.nhb_ver = ver self.functie_hwl.save() self.functie_wl = maak_functie("WL test", "WL") self.functie_wl.nhb_ver = ver self.functie_wl.save() # maak de SEC functie self.functie_sec = maak_functie("SEC test", "SEC") self.functie_sec.nhb_ver = ver self.functie_sec.save() # maak het lid aan dat HWL wordt sporter = Sporter() sporter.lid_nr = 100001 sporter.geslacht = "M" sporter.voornaam = "Ramon" sporter.achternaam = "de Tester" sporter.email = "*****@*****.**" sporter.geboorte_datum = datetime.date(year=1972, month=3, day=4) sporter.sinds_datum = datetime.date(year=2010, month=11, day=12) sporter.bij_vereniging = ver sporter.save() self.account_hwl = self.e2e_create_account(sporter.lid_nr, sporter.email, sporter.voornaam, accepteer_vhpg=True) self.functie_hwl.accounts.add(self.account_hwl) sporter.account = self.account_hwl sporter.save() self.sporter_100001 = sporter jaar = timezone.now().year # maak een jeugdlid aan sporter = Sporter() sporter.lid_nr = 100002 sporter.geslacht = "V" sporter.voornaam = "Ramona" sporter.achternaam = "de Jeugdschutter" sporter.email = "*****@*****.**" sporter.geboorte_datum = datetime.date(year=jaar-10, month=3, day=4) sporter.sinds_datum = datetime.date(year=jaar-3, month=11, day=12) sporter.bij_vereniging = ver sporter.account = self.e2e_create_account(sporter.lid_nr, sporter.email, sporter.voornaam) # heeft last_login=None sporter.save() self.sporter_100002 = sporter # maak nog een jeugdlid aan, in dezelfde leeftijdsklasse sporter = Sporter() sporter.lid_nr = 100012 sporter.geslacht = "V" sporter.voornaam = "Andrea" sporter.achternaam = "de Jeugdschutter" sporter.email = "" sporter.geboorte_datum = datetime.date(year=jaar-10, month=3, day=4) sporter.sinds_datum = datetime.date(year=jaar-3, month=10, day=10) sporter.bij_vereniging = ver sporter.save() self.sporter_100012 = sporter # maak een jeugd lid aan sporter = Sporter() sporter.lid_nr = 100004 sporter.geslacht = "M" sporter.voornaam = "Cadet" sporter.achternaam = "de Jeugd" sporter.email = "" sporter.geboorte_datum = datetime.date(year=jaar-13, month=3, day=4) # 13=asp, maar 14 in 2e jaar competitie! sporter.sinds_datum = datetime.date(year=jaar-3, month=11, day=12) sporter.bij_vereniging = ver sporter.save() self.sporter_100004 = sporter # maak een senior lid aan, om inactief te maken sporter = Sporter() sporter.lid_nr = 100003 sporter.geslacht = "V" sporter.voornaam = "Ramona" sporter.achternaam = "de Testerin" sporter.email = "" sporter.geboorte_datum = datetime.date(year=1972, month=3, day=4) sporter.sinds_datum = datetime.date(year=jaar-4, month=11, day=12) sporter.bij_vereniging = ver sporter.save() self.sporter_100003 = sporter # maak een lid aan van een andere vereniging # maak een test vereniging ver2 = NhbVereniging() ver2.naam = "Andere Club" ver2.ver_nr = "1222" ver2.regio = self.regio_111 # secretaris kan nog niet ingevuld worden ver2.save() self.nhbver2 = ver2 # maak een senior lid aan, om inactief te maken sporter = Sporter() sporter.lid_nr = 102000 sporter.geslacht = "M" sporter.voornaam = "Andre" sporter.achternaam = "Club" sporter.email = "*****@*****.**" sporter.geboorte_datum = datetime.date(year=1972, month=3, day=4) sporter.sinds_datum = datetime.date(year=jaar-4, month=11, day=12) sporter.bij_vereniging = ver2 sporter.save() self.sporter_102000 = sporter self.account_sec = self.e2e_create_account(sporter.lid_nr, sporter.email, sporter.voornaam, accepteer_vhpg=True) self.functie_sec.accounts.add(self.account_sec) # maak de competitie aan die nodig is voor deze tests self._create_histcomp() self._create_competitie() # fake een deelnemerslijst voor de RK deelcomp_rk = DeelCompetitie.objects.get(competitie=self.comp_25, laag=LAAG_RK, nhb_rayon=self.regio_111.rayon) deelcomp_rk.heeft_deelnemerslijst = True deelcomp_rk.save()
def setUp(self): """ eenmalige setup voor alle tests wordt als eerste aangeroepen """ self._next_lid_nr = 100001 self.rayon_1 = NhbRayon.objects.get(rayon_nr=1) self.rayon_2 = NhbRayon.objects.get(rayon_nr=2) self.regio_101 = NhbRegio.objects.get(regio_nr=101) # maak een test vereniging ver = NhbVereniging() ver.naam = "Grote Club" ver.ver_nr = "1000" ver.regio = self.regio_101 # secretaris kan nog niet ingevuld worden ver.save() self._ver = ver # maak HWL functie aan voor deze vereniging self.functie_hwl = maak_functie("HWL Vereniging %s" % ver.ver_nr, "HWL") self.functie_hwl.nhb_ver = ver self.functie_hwl.save() # maak test leden aan die we kunnen koppelen aan beheerders functies self.account_bko = self._prep_beheerder_lid('BKO') self.account_rko = self._prep_beheerder_lid('RKO') self.account_rcl = self._prep_beheerder_lid('RCL') self.account_schutter = self._prep_beheerder_lid('Schutter') # creëer een competitie met deelcompetities competities_aanmaken(jaar=2019) # nu in fase A self.comp_18 = Competitie.objects.get(afstand='18') self.comp_25 = Competitie.objects.get(afstand='25') for deelcomp in DeelCompetitie.objects.filter(laag=LAAG_BK).all(): deelcomp.functie.accounts.add(self.account_bko) # for for deelcomp in DeelCompetitie.objects.filter(laag=LAAG_RK, nhb_rayon=self.rayon_2).all(): deelcomp.functie.accounts.add(self.account_rko) # for for deelcomp in DeelCompetitie.objects.filter(laag=LAAG_REGIO, nhb_regio=self.regio_101).all(): deelcomp.functie.accounts.add(self.account_rcl) # for # maak nog een test vereniging, zonder HWL functie ver = NhbVereniging() ver.naam = "Kleine Club" ver.ver_nr = "1100" ver.regio = self.regio_101 # secretaris kan nog niet ingevuld worden ver.save() self._ver2 = ver # maak HWL functie aan voor deze vereniging hwl = maak_functie("HWL Vereniging %s" % ver.ver_nr, "HWL") hwl.nhb_ver = ver hwl.save()
def setUp(self): """ eenmalige setup voor alle tests wordt als eerste aangeroepen """ self.regio_111 = NhbRegio.objects.get(regio_nr=111) # maak een test vereniging ver = NhbVereniging() ver.naam = "Grote Club" ver.ver_nr = "1000" ver.regio = self.regio_111 # secretaris kan nog niet ingevuld worden ver.save() self.nhbver1 = ver # maak de HWL functie self.functie_hwl = maak_functie("HWL test", "HWL") self.functie_hwl.nhb_ver = ver self.functie_hwl.save() # maak de WL functie self.functie_wl = maak_functie("WL test", "WL") self.functie_wl.nhb_ver = ver self.functie_wl.save() # maak het lid aan dat WL wordt sporter = Sporter() sporter.lid_nr = 100001 sporter.geslacht = "M" sporter.voornaam = "Ramon" sporter.achternaam = "de Tester" sporter.email = "*****@*****.**" sporter.geboorte_datum = datetime.date(year=1972, month=3, day=4) sporter.sinds_datum = datetime.date(year=2010, month=11, day=12) sporter.bij_vereniging = ver sporter.save() self.account_wl = self.e2e_create_account(sporter.lid_nr, sporter.email, sporter.voornaam, accepteer_vhpg=True) self.functie_wl.accounts.add(self.account_wl) sporter.account = self.account_wl sporter.save() self.sporter_100001 = sporter # maak een jeugdlid aan sporter = Sporter() sporter.lid_nr = 100002 sporter.geslacht = "V" sporter.voornaam = "Ramona" sporter.achternaam = "de Jeugdschutter" sporter.email = "" sporter.geboorte_datum = datetime.date(year=2010, month=3, day=4) sporter.sinds_datum = datetime.date(year=2010, month=11, day=12) sporter.bij_vereniging = ver sporter.save() self.sporter_100002 = sporter # maak nog een jeugdlid aan, in dezelfde leeftijdsklasse sporter = Sporter() sporter.lid_nr = 100012 sporter.geslacht = "V" sporter.voornaam = "Andrea" sporter.achternaam = "de Jeugdschutter" sporter.email = "" sporter.geboorte_datum = datetime.date(year=2010, month=3, day=4) sporter.sinds_datum = datetime.date(year=2010, month=10, day=10) sporter.bij_vereniging = ver sporter.save() self.sporter_100012 = sporter # maak een senior lid aan, om inactief te maken sporter = Sporter() sporter.lid_nr = 100003 sporter.geslacht = "V" sporter.voornaam = "Ramona" sporter.achternaam = "de Testerin" sporter.email = "" sporter.geboorte_datum = datetime.date(year=1972, month=3, day=4) sporter.sinds_datum = datetime.date(year=2010, month=11, day=12) sporter.bij_vereniging = ver sporter.save() self.sporter_100003 = sporter # maak een lid aan van een andere vereniging # maak een test vereniging ver2 = NhbVereniging() ver2.naam = "Andere Club" ver2.ver_nr = "1222" ver2.regio = self.regio_111 # secretaris kan nog niet ingevuld worden ver2.save() self.nhbver2 = ver2 # maak de competitie aan die nodig is voor deze tests self._create_histcomp() self._create_competitie()
def setUp(self): """ eenmalige setup voor alle tests wordt als eerste aangeroepen """ # deze test is afhankelijk van de standaard regio's self.regio_101 = regio = NhbRegio.objects.get(regio_nr=101) # maak een test vereniging ver = NhbVereniging() ver.naam = "Grote Club" ver.ver_nr = 1000 ver.regio = regio # secretaris kan nog niet ingevuld worden ver.save() # maak een volwassen test lid aan (komt in groep met klasse onbekend) sporter = Sporter() sporter.lid_nr = 100001 sporter.geslacht = "M" sporter.voornaam = "Ramon" sporter.achternaam = "de Tester" sporter.email = "*****@*****.**" sporter.geboorte_datum = datetime.date(year=1972, month=3, day=4) sporter.sinds_datum = datetime.date(year=2010, month=11, day=12) sporter.bij_vereniging = ver self.account_lid = self.e2e_create_account(sporter.lid_nr, sporter.email, sporter.voornaam) sporter.account = self.account_lid sporter.save() self.sporter_100001 = sporter self.functie_hwl = maak_functie('HWL test', 'HWL') self.functie_hwl.nhb_ver = ver self.functie_hwl.save() self.functie_hwl.accounts.add(self.account_lid) # maak een jeugdlid aan (komt in BB jeugd zonder klasse onbekend) sporter = Sporter() sporter.lid_nr = 100002 sporter.geslacht = "M" sporter.voornaam = "Ramon" sporter.achternaam = "het Testertje" sporter.email = "*****@*****.**" sporter.geboorte_datum = datetime.date(year=2008, month=3, day=4) sporter.sinds_datum = datetime.date(year=2015, month=11, day=12) sporter.bij_vereniging = ver self.account_jeugdlid = self.e2e_create_account( sporter.lid_nr, sporter.email, sporter.voornaam) sporter.account = self.account_jeugdlid sporter.save() self.sporter_100002 = sporter boog_bb = BoogType.objects.get(afkorting='BB') boog_ib = BoogType.objects.get(afkorting='IB') # maak een sporterboog aan voor het jeugdlid (nodig om aan te melden) sporterboog = SporterBoog(sporter=self.sporter_100002, boogtype=boog_bb, voor_wedstrijd=False) sporterboog.save() self.sporterboog_100002 = sporterboog sporter = Sporter() sporter.lid_nr = 100003 sporter.geslacht = "V" sporter.voornaam = "Zus" sporter.achternaam = "de Testerin" sporter.email = "*****@*****.**" sporter.geboorte_datum = datetime.date(year=2008, month=3, day=4) sporter.sinds_datum = datetime.date(year=2015, month=11, day=12) sporter.bij_vereniging = ver sporter.save() self.sporter_100003 = sporter # maak een sporterboog aan voor het lid (nodig om aan te melden) sporterboog = SporterBoog(sporter=self.sporter_100003, boogtype=boog_bb, voor_wedstrijd=True) sporterboog.save() self.sporterboog_100003 = sporterboog # maak een sporterboog aan voor het lid (nodig om aan te melden) sporterboog = SporterBoog(sporter=self.sporter_100001, boogtype=boog_ib, voor_wedstrijd=True) sporterboog.save() # (strategisch gekozen) historische data om klassengrenzen uit te bepalen histcomp = HistCompetitie() histcomp.seizoen = '2018/2019' histcomp.comp_type = '18' histcomp.klasse = 'Testcurve1' # TODO: kan de klasse een spatie bevatten? histcomp.is_team = False histcomp.save() self.histcomp = histcomp # een ouder seizoen dat niet gebruikt moet worden histcomp2 = HistCompetitie() histcomp2.seizoen = '2017/2018' histcomp2.comp_type = '18' histcomp2.klasse = 'Testcurve2' histcomp2.is_team = False histcomp2.save() # record voor het volwassen lid rec = HistCompetitieIndividueel() rec.histcompetitie = histcomp rec.rank = 1 rec.schutter_nr = self.sporter_100001.lid_nr rec.schutter_naam = self.sporter_100001.volledige_naam() rec.vereniging_nr = ver.ver_nr rec.vereniging_naam = ver.naam rec.boogtype = 'R' rec.score1 = 10 rec.score2 = 20 rec.score3 = 30 rec.score4 = 40 rec.score5 = 50 rec.score6 = 60 rec.score7 = 70 rec.totaal = 80 rec.gemiddelde = 5.321 rec.save() # nog een record voor het volwassen lid rec = HistCompetitieIndividueel() rec.histcompetitie = histcomp2 rec.rank = 1 rec.schutter_nr = self.sporter_100001.lid_nr rec.schutter_naam = self.sporter_100001.volledige_naam() rec.vereniging_nr = ver.ver_nr rec.vereniging_naam = ver.naam rec.boogtype = 'R' rec.score1 = 11 rec.score2 = 21 rec.score3 = 31 rec.score4 = 41 rec.score5 = 51 rec.score6 = 61 rec.score7 = 71 rec.totaal = 81 rec.gemiddelde = 6.12 rec.save() # nog een record voor het volwassen lid rec = HistCompetitieIndividueel() rec.histcompetitie = histcomp rec.rank = 100 rec.schutter_nr = self.sporter_100001.lid_nr rec.schutter_naam = self.sporter_100001.volledige_naam() rec.vereniging_nr = ver.ver_nr rec.vereniging_naam = ver.naam rec.boogtype = 'IB' rec.score1 = 11 rec.score2 = 21 rec.score3 = 31 rec.score4 = 41 rec.score5 = 51 rec.score6 = 61 rec.score7 = 71 rec.totaal = 81 rec.gemiddelde = 6.12 rec.save() # maak een record aan zonder eindgemiddelde rec = HistCompetitieIndividueel() rec.histcompetitie = histcomp rec.rank = 1 rec.schutter_nr = self.sporter_100002.lid_nr rec.schutter_naam = self.sporter_100002.volledige_naam() rec.vereniging_nr = ver.ver_nr rec.vereniging_naam = ver.naam rec.boogtype = 'C' rec.score1 = 0 rec.score2 = 0 rec.score3 = 0 rec.score4 = 0 rec.score5 = 0 rec.score6 = 0 rec.score7 = 0 rec.totaal = 0 rec.gemiddelde = 0.0 rec.save() # record voor het jeugdlid rec = HistCompetitieIndividueel() rec.histcompetitie = histcomp rec.rank = 1 rec.schutter_nr = self.sporter_100002.lid_nr rec.schutter_naam = self.sporter_100002.volledige_naam() rec.vereniging_nr = ver.ver_nr rec.vereniging_naam = ver.naam rec.boogtype = 'BB' rec.score1 = 10 rec.score2 = 20 rec.score3 = 30 rec.score4 = 40 rec.score5 = 50 rec.score6 = 60 rec.score7 = 70 rec.totaal = 80 rec.gemiddelde = 5.321 rec.save() # maak een record aan voor iemand die geen lid meer is rec = HistCompetitieIndividueel() rec.histcompetitie = histcomp rec.rank = 1 rec.schutter_nr = 991111 rec.schutter_naam = "Die is weg" rec.vereniging_nr = ver.ver_nr rec.vereniging_naam = ver.naam rec.boogtype = 'BB' rec.score1 = 10 rec.score2 = 20 rec.score3 = 30 rec.score4 = 40 rec.score5 = 50 rec.score6 = 60 rec.score7 = 70 rec.totaal = 80 rec.gemiddelde = 5.321 rec.save()
def setUp(self): """ initialisatie van de test case """ # deze test is afhankelijk van de standaard globale functies # zoals opgezet door de migratie m0002_functies-2019: # comp_type: 18/25 # rol: BKO, RKO (4x), RCL (16x) self.account_normaal = self.e2e_create_account('normaal', '*****@*****.**', 'Normaal') self.account_beh1 = self.e2e_create_account('testbeheerder1', '*****@*****.**', 'Beheerder1', accepteer_vhpg=True) self.account_beh2 = self.e2e_create_account('testbeheerder2', '*****@*****.**', 'Beheerder2', accepteer_vhpg=True) self.account_ander = self.e2e_create_account('anderlid', '*****@*****.**', 'Ander') self.functie_bko = Functie.objects.get(comp_type='18', rol='BKO') self.functie_rko3 = Functie.objects.get( comp_type='18', rol='RKO', nhb_rayon=NhbRayon.objects.get(rayon_nr=3)) self.functie_rcl111 = Functie.objects.get( comp_type='18', rol='RCL', nhb_regio=NhbRegio.objects.get(regio_nr=111)) self.functie_rcl101 = Functie.objects.get( comp_type='18', rol='RCL', nhb_regio=NhbRegio.objects.get(regio_nr=101)) # maak een test vereniging ver = NhbVereniging() ver.naam = "Grote Club" ver.ver_nr = "1000" ver.regio = NhbRegio.objects.get(regio_nr=111) # secretaris kan nog niet ingevuld worden ver.save() self.nhbver1 = ver sporter = Sporter() sporter.lid_nr = 100042 sporter.geslacht = "M" sporter.voornaam = "Beh" sporter.achternaam = "eerder" sporter.geboorte_datum = datetime.date(year=1972, month=3, day=4) sporter.sinds_datum = datetime.date(year=2010, month=11, day=12) sporter.bij_vereniging = ver sporter.account = self.account_beh2 sporter.email = sporter.account.email sporter.save() self.sporter_100042 = sporter sporter = Sporter() sporter.lid_nr = 100043 sporter.geslacht = "M" sporter.voornaam = "Beh" sporter.achternaam = "eerder" sporter.geboorte_datum = datetime.date(year=1972, month=3, day=4) sporter.sinds_datum = datetime.date(year=2010, month=11, day=12) sporter.bij_vereniging = ver sporter.account = self.account_normaal sporter.email = sporter.account.email sporter.save() self.sporter_100043 = sporter self.functie_sec = maak_functie("SEC test", "SEC") self.functie_sec.nhb_ver = ver self.functie_sec.save() self.functie_hwl = maak_functie("HWL test", "HWL") self.functie_hwl.nhb_ver = ver self.functie_hwl.save() self.functie_wl = maak_functie("WL test", "WL") self.functie_wl.nhb_ver = ver self.functie_wl.save() self.regio_112 = NhbRegio.objects.get(regio_nr=112) # maak nog een test vereniging ver2 = NhbVereniging() ver2.naam = "Extra Club" ver2.ver_nr = "1900" ver2.regio = self.regio_112 # secretaris kan nog niet ingevuld worden ver2.save() self.nhbver2 = ver2 self.functie_sec2 = maak_functie("SEC test 2", "SEC") self.functie_sec2.nhb_ver = ver2 self.functie_sec2.save() self.functie_hwl2 = maak_functie("HWL test 2", "HWL") self.functie_hwl2.nhb_ver = ver2 self.functie_hwl2.save() sporter = Sporter() sporter.lid_nr = 100024 sporter.geslacht = "V" sporter.voornaam = "Ander" sporter.achternaam = "Lid" sporter.geboorte_datum = datetime.date(year=1972, month=3, day=5) sporter.sinds_datum = datetime.date(year=2010, month=11, day=11) sporter.bij_vereniging = ver2 sporter.account = self.account_ander sporter.email = sporter.account.email sporter.save() self.sporter_100024 = sporter
def setUp(self): """ initialisatie van de test case """ self.account_normaal = self.e2e_create_account('normaal', '*****@*****.**', 'Normaal') # maak een test vereniging ver = NhbVereniging() ver.naam = "Grote Club" ver.ver_nr = "1000" ver.regio = NhbRegio.objects.get(pk=111) ver.save() self.nhbver = ver # maak een test lid aan sporter = Sporter() sporter.lid_nr = 100001 sporter.geslacht = "M" sporter.voornaam = "Ramon" sporter.achternaam = "de Tester" sporter.geboorte_datum = datetime.date(year=1972, month=3, day=4) sporter.sinds_datum = datetime.date(year=2010, month=11, day=12) sporter.bij_vereniging = ver sporter.account = self.account_normaal sporter.email = sporter.account.email sporter.save() self.sporter1 = sporter functie_hwl = maak_functie('HWL ver 1000', 'HWL') functie_hwl.accounts.add(self.account_normaal) functie_hwl.nhb_ver = ver functie_hwl.bevestigde_email = '*****@*****.**' functie_hwl.save() self.functie_hwl = functie_hwl functie_sec = maak_functie('SEC ver 1000', 'SEC') functie_sec.accounts.add(self.account_normaal) functie_sec.bevestigde_email = '*****@*****.**' functie_sec.nhb_ver = ver functie_sec.save() self.functie_sec = functie_sec Secretaris(vereniging=ver, sporter=sporter).save() # geef dit account een record rec = IndivRecord() rec.discipline = '18' rec.volg_nr = 1 rec.soort_record = "60p" rec.geslacht = sporter.geslacht rec.leeftijdscategorie = 'J' rec.materiaalklasse = "R" rec.sporter = sporter rec.naam = "Ramon de Tester" rec.datum = parse_date('2011-11-11') rec.plaats = "Top stad" rec.score = 293 rec.max_score = 300 rec.save() rec = IndivRecord() rec.discipline = '18' rec.volg_nr = 2 rec.soort_record = "60p" rec.geslacht = sporter.geslacht rec.leeftijdscategorie = 'J' rec.materiaalklasse = "C" rec.sporter = sporter rec.naam = "Ramon de Tester" rec.datum = parse_date('2012-12-12') rec.plaats = "Top stad" rec.land = 'Verwegistan' rec.score = 290 rec.max_score = 300 rec.save() rec = IndivRecord() rec.discipline = '18' rec.volg_nr = 3 rec.soort_record = "60p" rec.geslacht = sporter.geslacht rec.leeftijdscategorie = 'C' rec.materiaalklasse = "C" rec.sporter = sporter rec.naam = "Ramon de Tester" rec.datum = parse_date('1991-12-12') rec.plaats = "" # typisch voor oudere records rec.score = 290 rec.max_score = 300 rec.save() # geef dit account een goede en een slechte HistComp record histcomp = HistCompetitie() histcomp.seizoen = "2009/2010" histcomp.comp_type = "18" histcomp.klasse = "don't care" histcomp.save() indiv = HistCompetitieIndividueel() indiv.histcompetitie = histcomp indiv.rank = 1 indiv.schutter_nr = 100001 indiv.schutter_naam = "Ramon de Tester" indiv.boogtype = "R" indiv.vereniging_nr = 1000 indiv.vereniging_naam = "don't care" indiv.score1 = 123 indiv.score2 = 234 indiv.score3 = 345 indiv.score4 = 456 indiv.score5 = 0 indiv.score6 = 666 indiv.score7 = 7 indiv.laagste_score_nr = 7 indiv.totaal = 1234 indiv.gemiddelde = 9.123 indiv.save() indiv.pk = None indiv.boogtype = "??" # bestaat niet, on purpose indiv.save() self.boog_R = BoogType.objects.get(afkorting='R')
def setUp(self): """ eenmalige setup voor alle tests wordt als eerste aangeroepen """ self.regio_111 = NhbRegio.objects.get(regio_nr=111) # maak een test vereniging ver = NhbVereniging() ver.naam = "Grote Club" ver.ver_nr = "1000" ver.regio = self.regio_111 # secretaris kan nog niet ingevuld worden ver.save() self.nhbver1 = ver # maak de SEC functie self.functie_sec = maak_functie("SEC test", "SEC") self.functie_sec.nhb_ver = ver self.functie_sec.save() # maak de HWL functie self.functie_hwl = maak_functie("HWL test", "HWL") self.functie_hwl.nhb_ver = ver self.functie_hwl.save() # maak de WL functie self.functie_wl = maak_functie("WL test", "WL") self.functie_wl.nhb_ver = ver self.functie_wl.save() # maak het lid aan dat WL wordt sporter = Sporter() sporter.lid_nr = 100001 sporter.geslacht = "M" sporter.voornaam = "Ramon" sporter.achternaam = "de Tester" sporter.email = "*****@*****.**" sporter.geboorte_datum = datetime.date(year=1972, month=3, day=4) sporter.sinds_datum = datetime.date(year=2010, month=11, day=12) sporter.bij_vereniging = ver sporter.save() self.account_wl = self.e2e_create_account(sporter.lid_nr, sporter.email, sporter.voornaam, accepteer_vhpg=True) self.functie_wl.accounts.add(self.account_wl) sporter.account = self.account_wl sporter.save() self.sporter_100001 = sporter boog_r = BoogType.objects.get(afkorting='R') sporterboog = SporterBoog(sporter=sporter, boogtype=boog_r, voor_wedstrijd=True) sporterboog.save() self.sporterboog_100001 = sporterboog voorkeuren = SporterVoorkeuren(sporter=self.sporter_100001, opmerking_para_sporter="test para opmerking") voorkeuren.save() # maak een jeugdlid aan sporter = Sporter() sporter.lid_nr = 100002 sporter.geslacht = "V" sporter.voornaam = "Ramona" sporter.achternaam = "de Jeugdschutter" sporter.email = "" sporter.geboorte_datum = datetime.date(year=2010, month=3, day=4) sporter.sinds_datum = datetime.date(year=2010, month=11, day=12) sporter.bij_vereniging = ver sporter.save() self.sporter_100002 = sporter # maak nog een jeugdlid aan, in dezelfde leeftijdsklasse sporter = Sporter() sporter.lid_nr = 100012 sporter.geslacht = "V" sporter.voornaam = "Andrea" sporter.achternaam = "de Jeugdschutter" sporter.email = "" sporter.geboorte_datum = datetime.date(year=2010, month=3, day=4) sporter.sinds_datum = datetime.date(year=2010, month=10, day=10) sporter.bij_vereniging = ver sporter.save() self.sporter_100012 = sporter # maak het lid aan dat HWL wordt sporter = Sporter() sporter.lid_nr = 100003 sporter.geslacht = "V" sporter.voornaam = "Ramona" sporter.achternaam = "de Testerin" sporter.email = "*****@*****.**" sporter.geboorte_datum = datetime.date(year=1972, month=3, day=4) sporter.sinds_datum = datetime.date(year=2010, month=11, day=12) sporter.bij_vereniging = ver self.account_hwl = self.e2e_create_account(sporter.lid_nr, sporter.email, sporter.voornaam, accepteer_vhpg=True) self.functie_hwl.accounts.add(self.account_hwl) sporter.account = self.account_hwl sporter.save() self.sporter_100003 = sporter # maak het lid aan dat SEC wordt sporter = Sporter() sporter.lid_nr = 100004 sporter.geslacht = "M" sporter.voornaam = "Ramon" sporter.achternaam = "de Secretaris" sporter.email = "*****@*****.**" sporter.geboorte_datum = datetime.date(year=1971, month=5, day=28) sporter.sinds_datum = datetime.date(year=2000, month=1, day=31) sporter.bij_vereniging = ver sporter.save() self.account_sec = self.e2e_create_account(sporter.lid_nr, sporter.email, sporter.voornaam, accepteer_vhpg=True) self.functie_sec.accounts.add(self.account_sec) sporter.account = self.account_sec sporter.save() self.lid_100004 = sporter # maak een lid aan van een andere vereniging # maak een test vereniging ver2 = NhbVereniging() ver2.naam = "Andere Club" ver2.ver_nr = "1222" ver2.regio = self.regio_111 # secretaris kan nog niet ingevuld worden ver2.save() self.nhbver2 = ver2 # BB worden self.e2e_login_and_pass_otp(self.testdata.account_bb) self.e2e_wisselnaarrol_bb() self.e2e_check_rol('BB') # maak de competitie aan die nodig is voor deze tests self._maak_competitie() self._maak_wedstrijden() self._maak_inschrijvingen()
def setUp(self): """ eenmalige setup voor alle tests wordt als eerste aangeroepen """ self._next_lid_nr = 100001 self.rayon_1 = NhbRayon.objects.get(rayon_nr=1) self.rayon_2 = NhbRayon.objects.get(rayon_nr=2) self.regio_101 = NhbRegio.objects.get(regio_nr=101) self.regio_105 = NhbRegio.objects.get(regio_nr=105) self.regio_112 = NhbRegio.objects.get(regio_nr=112) # maak een test vereniging ver = NhbVereniging() ver.naam = "Zuidelijke Club" ver.ver_nr = "1111" ver.regio = self.regio_112 # secretaris kan nog niet ingevuld worden ver.save() self.nhbver_112 = ver # maak een test vereniging ver = NhbVereniging() ver.naam = "Grote Club" ver.ver_nr = "1000" ver.regio = self.regio_101 # secretaris kan nog niet ingevuld worden ver.save() self.nhbver_101 = ver loc = WedstrijdLocatie(banen_18m=1, banen_25m=1, adres='De Spanning 1, Houtdorp') loc.save() loc.verenigingen.add(ver) self.loc = loc # maak HWL functie aan voor deze vereniging self.functie_hwl = maak_functie("HWL Vereniging %s" % ver.ver_nr, "HWL") self.functie_hwl.nhb_ver = ver self.functie_hwl.save() # maak test leden aan die we kunnen koppelen aan beheerders functies self.account_bko_18 = self._prep_beheerder_lid('BKO') self.account_rko1_18 = self._prep_beheerder_lid('RKO1') self.account_rko2_18 = self._prep_beheerder_lid('RKO2') self.account_rcl101_18 = self._prep_beheerder_lid('RCL101') self.account_rcl101_25 = self._prep_beheerder_lid('RCL101-25') self.account_rcl112_18 = self._prep_beheerder_lid('RCL112') self.account_schutter = self._prep_beheerder_lid('Schutter') self.lid_sporter_1 = Sporter.objects.get(lid_nr=self.account_schutter.username) self.account_schutter2 = self._prep_beheerder_lid('Schutter2') self.lid_sporter_2 = Sporter.objects.get(lid_nr=self.account_schutter2.username) self.boog_r = BoogType.objects.get(afkorting='R') self.sporterboog = SporterBoog(sporter=self.lid_sporter_1, boogtype=self.boog_r, voor_wedstrijd=True) self.sporterboog.save() # creëer een competitie met deelcompetities competities_aanmaken(jaar=2019) self.comp_18 = Competitie.objects.get(afstand='18') self.comp_25 = Competitie.objects.get(afstand='25') # klassengrenzen vaststellen om de competitie voorbij fase A te krijgen self.e2e_login_and_pass_otp(self.testdata.account_bb) self.e2e_wisselnaarrol_bb() self.url_klassengrenzen_vaststellen_18 = '/bondscompetities/%s/klassengrenzen/vaststellen/' % self.comp_18.pk resp = self.client.post(self.url_klassengrenzen_vaststellen_18) self.assert_is_redirect_not_plein(resp) # check for success self.deelcomp_bond_18 = DeelCompetitie.objects.filter(competitie=self.comp_18, laag=LAAG_BK)[0] self.deelcomp_rayon1_18 = DeelCompetitie.objects.filter(competitie=self.comp_18, laag=LAAG_RK, nhb_rayon=self.rayon_1)[0] self.deelcomp_regio_101 = DeelCompetitie.objects.filter(competitie=self.comp_18, laag=LAAG_REGIO, nhb_regio=self.regio_101)[0] self.functie_bko_18 = self.deelcomp_bond_18.functie self.functie_bko_18.accounts.add(self.account_bko_18) self.functie_rko1_18 = self.deelcomp_rayon1_18.functie self.functie_rko1_18.accounts.add(self.account_rko1_18) # maak nog een test vereniging, zonder HWL functie ver = NhbVereniging() ver.naam = "Kleine Club" ver.ver_nr = "1100" ver.regio = self.regio_101 # secretaris kan nog niet ingevuld worden ver.save()
def setUp(self): """ eenmalige setup voor alle tests wordt als eerste aangeroepen """ self.regio_111 = NhbRegio.objects.get(regio_nr=111) # maak een test vereniging ver = NhbVereniging() ver.naam = "Grote Club" ver.ver_nr = "1000" ver.regio = self.regio_111 # secretaris kan nog niet ingevuld worden ver.save() self.nhbver1 = ver # maak de HWL functie self.functie_hwl = maak_functie("HWL test", "HWL") self.functie_hwl.nhb_ver = ver self.functie_hwl.save() self.functie_wl = maak_functie("WL test", "WL") self.functie_wl.nhb_ver = ver self.functie_wl.save() # maak het lid aan dat HWL wordt sporter = Sporter() sporter.lid_nr = 100001 sporter.geslacht = "M" sporter.voornaam = "Ramon" sporter.achternaam = "de Tester" sporter.email = "*****@*****.**" sporter.geboorte_datum = datetime.date(year=1972, month=3, day=4) sporter.sinds_datum = datetime.date(year=2010, month=11, day=12) sporter.bij_vereniging = ver sporter.save() self.account_hwl = self.e2e_create_account(sporter.lid_nr, sporter.email, sporter.voornaam, accepteer_vhpg=True) self.functie_hwl.accounts.add(self.account_hwl) sporter.account = self.account_hwl sporter.save() self.sporter_100001 = sporter jaar = timezone.now().year # maak een aspirant aan sporter = Sporter() sporter.lid_nr = 100002 sporter.geslacht = "V" sporter.voornaam = "Ramona" sporter.achternaam = "de Jeugdschutter" sporter.email = "*****@*****.**" sporter.geboorte_datum = datetime.date(year=jaar - 12, month=3, day=4) sporter.sinds_datum = datetime.date(year=jaar - 3, month=11, day=12) sporter.bij_vereniging = ver sporter.account = self.e2e_create_account( sporter.lid_nr, sporter.email, sporter.voornaam) # heeft last_login=None sporter.save() self.sporter_100002 = sporter # maak een cadet aan sporter = Sporter() sporter.lid_nr = 100012 sporter.geslacht = "V" sporter.voornaam = "Andrea" sporter.achternaam = "de Jeugdschutter" sporter.email = "" sporter.geboorte_datum = datetime.date(year=jaar - 15, month=3, day=4) sporter.sinds_datum = datetime.date(year=jaar - 3, month=10, day=10) sporter.bij_vereniging = ver sporter.save() self.sporter_100012 = sporter # maak een jeugd lid aan sporter = Sporter() sporter.lid_nr = 100004 sporter.geslacht = "M" sporter.voornaam = "Cadet" sporter.achternaam = "de Jeugd" sporter.email = "" sporter.geboorte_datum = datetime.date( year=jaar - 13, month=3, day=4) # 13=asp, maar 14 in 2e jaar competitie! sporter.sinds_datum = datetime.date(year=jaar - 3, month=11, day=12) sporter.bij_vereniging = ver sporter.save() self.sporter_100004 = sporter # maak een senior lid aan, om inactief te maken sporter = Sporter() sporter.lid_nr = 100003 sporter.geslacht = "V" sporter.voornaam = "Ramona" sporter.achternaam = "de Testerin" sporter.email = "" sporter.geboorte_datum = datetime.date(year=1972, month=3, day=4) sporter.sinds_datum = datetime.date(year=jaar - 4, month=11, day=12) sporter.bij_vereniging = ver sporter.save() self.sporter_100003 = sporter # maak een senior lid aan sporter = Sporter() sporter.lid_nr = 100013 sporter.geslacht = "M" sporter.voornaam = "Instinctive" sporter.achternaam = "de Bower" sporter.email = "" sporter.geboorte_datum = datetime.date(year=1972, month=3, day=5) sporter.sinds_datum = datetime.date(year=jaar - 4, month=7, day=1) sporter.bij_vereniging = ver sporter.save() self.sporter_100013 = sporter # maak een lid aan van een andere vereniging # maak een test vereniging ver2 = NhbVereniging() ver2.naam = "Andere Club" ver2.ver_nr = "1222" ver2.regio = self.regio_111 # secretaris kan nog niet ingevuld worden ver2.save() self.nhbver2 = ver2 self.account_rcl = self.e2e_create_account('rcl111', '*****@*****.**', 'Ercel', accepteer_vhpg=True) self.functie_rcl = maak_functie('RCL Regio 111', 'RCL') self.functie_rcl.nhb_regio = self.nhbver1.regio self.functie_rcl.save() self.functie_rcl.accounts.add(self.account_rcl) # maak de competitie aan die nodig is voor deze tests self._create_histcomp() self._create_competitie()