def _competitie_aanmaken(self): # competitie aanmaken self.comp_18, self.comp_25 = maak_competities_en_zet_fase_b() # zet de inschrijving open now = timezone.now() for comp in Competitie.objects.all(): comp.begin_aanmeldingen = now.date() comp.save()
def _maak_competitie(self): self.assertEqual(CompetitieKlasse.objects.count(), 0) self.comp_18, self.comp_25 = maak_competities_en_zet_fase_b() self.deelcomp_regio_18 = DeelCompetitie.objects.get(laag=LAAG_REGIO, nhb_regio=self.regio_111, competitie__afstand='18') self.deelcomp_regio_25 = DeelCompetitie.objects.get(laag=LAAG_REGIO, nhb_regio=self.regio_111, competitie__afstand='25')
def _create_competitie(self): url_kies = '/bondscompetities/' self.assertEqual(CompetitieKlasse.objects.count(), 0) self.comp_18, self.comp_25 = maak_competities_en_zet_fase_b() self.deelcomp_regio = DeelCompetitie.objects.get( laag=LAAG_REGIO, nhb_regio=self.regio_111, competitie__afstand=18) self.deelcomp_regio.inschrijf_methode = INSCHRIJF_METHODE_1 self.deelcomp_regio.save()
def _create_competitie(self): # BB worden self.e2e_login_and_pass_otp(self.testdata.account_bb) self.e2e_wisselnaarrol_bb() self.e2e_check_rol('BB') self.assertEqual(CompetitieKlasse.objects.count(), 0) self.comp_18, self.comp_25 = maak_competities_en_zet_fase_b() self.deelcomp18_regio111 = DeelCompetitie.objects.get( laag=LAAG_REGIO, nhb_regio=self.regio_111, competitie__afstand=18) # default instellingen voor regio 111: organiseert competitie, vaste teams self.deelcomp25_regio111 = DeelCompetitie.objects.get( competitie=self.comp_25, laag=LAAG_REGIO, nhb_regio=self.regio_111)
def test_compleet(self): url_kies = '/bondscompetities/' # log in as schutter self.e2e_login(self.account_normaal) self._prep_voorkeuren() with self.assert_max_queries(20): resp = self.client.get(self.url_profiel) self.assertNotContains(resp, 'De volgende competities worden georganiseerd') # competitie aanmaken comp_18, comp_25 = maak_competities_en_zet_fase_b() # log in as schutter self.e2e_login(self.account_normaal) self._prep_voorkeuren() # controleer dat inschrijven mogelijk is with self.assert_max_queries(20): resp = self.client.get(self.url_profiel) self.assertContains(resp, 'De volgende competities worden georganiseerd') self.assertContains(resp, 'De inschrijving is open tot ') self.assertContains(resp, 'De volgende competities passen bij de bogen waar jij mee schiet:') urls = self.extract_all_urls(resp, skip_menu=True) # print('urls:', urls) urls = [url for url in urls if '/bondscompetities/deelnemen/aanmelden/' in url] self.assertEqual(len(urls), 2) # schrijf de schutter in voor de 18m Recurve sporterboog = SporterBoog.objects.get(boogtype__afkorting='R') deelcomp = DeelCompetitie.objects.get(competitie__afstand='18', nhb_regio=self.nhbver.regio) res = score_indiv_ag_opslaan(sporterboog, 18, 8.18, None, 'Test') self.assertTrue(res) url = self.url_aanmelden % (deelcomp.pk, sporterboog.pk) with self.assert_max_queries(20): resp = self.client.post(url, {'opmerking': 'test van de 18m'}) self.assert_is_redirect(resp, self.url_profiel) deelcomp = DeelCompetitie.objects.get(competitie__afstand='25', nhb_regio=self.nhbver.regio) # zet de 25m door naar fase C zet_competitie_fase(comp_25, 'C') # controleer dat inschrijven nog mogelijk is voor 25m en uitschrijven voor 18m with self.assert_max_queries(20): resp = self.client.get(self.url_profiel) self.assertContains(resp, 'De volgende competities worden georganiseerd') self.assertContains(resp, 'De inschrijving is open tot ') # 18m self.assertContains(resp, 'Aanmelden kan nog tot 1 februari 20') # 25m urls = self.extract_all_urls(resp, skip_menu=True) urls2 = [url for url in urls if '/bondscompetities/deelnemen/aanmelden/' in url] self.assertEqual(len(urls2), 1) urls2 = [url for url in urls if '/bondscompetities/deelnemen/afmelden/' in url] self.assertEqual(len(urls2), 1) # afmelden moet nog kunnen als de wedstrijdboog weer uitgezet is sporterboog_bb = SporterBoog.objects.get(boogtype__afkorting='R') sporterboog_bb.voor_wedstrijd = False sporterboog_bb.save() with self.assert_max_queries(23): resp = self.client.get(self.url_profiel) urls = self.extract_all_urls(resp, skip_menu=True) # print('urls:', urls) urls2 = [url for url in urls if '/bondscompetities/deelnemen/aanmelden/' in url] self.assertEqual(len(urls2), 0) urls2 = [url for url in urls if '/bondscompetities/deelnemen/afmelden/' in url] self.assertEqual(len(urls2), 1) sporterboog_bb.voor_wedstrijd = True sporterboog_bb.save() # zet de barebow boog 'aan' en schrijf in voor 25m BB sporterboog_bb = SporterBoog.objects.get(boogtype__afkorting='BB') sporterboog_bb.voor_wedstrijd = True sporterboog_bb.save() url = self.url_aanmelden % (deelcomp.pk, sporterboog_bb.pk) with self.assert_max_queries(20): resp = self.client.post(url, {'wil_in_team': 'on'}) self.assert_is_redirect(resp, self.url_profiel) sporterboog_bb.voor_wedstrijd = False sporterboog_bb.save() # zet de 18m ook door naar fase F zet_competitie_fase(comp_18, 'F') # haal de profiel pagina op with self.assert_max_queries(25): resp = self.client.get(self.url_profiel) self.assertEqual(resp.status_code, 200) # 200 = OK self.assert_html_ok(resp) self.assert_template_used(resp, ('sporter/profiel.dtl', 'plein/site_layout.dtl')) self.assertContains(resp, 'De inschrijving is gesloten') # 18m self.assertContains(resp, 'Aanmelden kan nog tot 1 februari 20') # 25m # zet aanvangsgemiddelden voor 18m en 25m Score.objects.all().delete() # nieuw vastgestelde AG is van vandaag obj = SporterBoog.objects.get(boogtype__afkorting='R') score_indiv_ag_opslaan(obj, 18, 9.018, None, 'Test opmerking A') score_indiv_ag_opslaan(obj, 25, 2.5, None, 'Test opmerking B') with self.assert_max_queries(25): resp = self.client.get(self.url_profiel) self.assertEqual(resp.status_code, 200) # 200 = OK self.assert_html_ok(resp) self.assertContains(resp, "2,500") self.assertContains(resp, "9,018") self.assertContains(resp, "Test opmerking A") self.assertContains(resp, "Test opmerking B") # variant met Score zonder ScoreHist ScoreHist.objects.all().delete() with self.assert_max_queries(25): resp = self.client.get(self.url_profiel) self.assertEqual(resp.status_code, 200) # 200 = OK self.assert_html_ok(resp) self.e2e_assert_other_http_commands_not_supported(self.url_profiel) # zet de 18m door naar RK fase # zet de 25m door naar BK fase zet_competitie_fase(comp_18, 'K') zet_competitie_fase(comp_25, 'P') with self.assert_max_queries(23): resp = self.client.get(self.url_profiel) self.assertContains(resp, 'Rayonkampioenschappen') # 18m self.assertContains(resp, 'Bondskampioenschappen') # 25m
def _competitie_aanmaken(): maak_competities_en_zet_fase_b()