Kultuuriministeerium · 20. jaanuar 2025
Sisu (failidest)
PROJEKTITOETUSE KASUTAMISE ARUANNE KULTUURIMINISTEERIUMILE
Lepingu number (lepingu numbri puudumisel kultuuriministri käskkirja number) 7-1/584
Toetuse saaja nimi
SA Eesti Teatri Agentuur
Taotlusvooru nimetus
Projekti nimetus
Teatristatistika andmebaasi tehnoloogilise võla kõrvaldamine
kuni 300 tähemärki (tm)
Projekti toimumise riik/riigid
Eesti
Projekti toimumise aeg (millal tegevus reaalselt toimus) 17.09.2024 - 31.12.2024
pp.kk.aaaa pp.kk.aaaa
Toetuse kasutamise periood (vastavalt taotluses esitatud perioodile) 17.09.2024 - 31.12.2024
pp.kk.aaaa pp.kk.aaaa
1 (7)
TOIMUNUD PROJEKTI LÜHIKOKKUVÕTE
Kirjeldage lühidalt projekti - toimumise kohta, peamisi tegevusi, millede abil saavutati projekti elluviimine
Andke omapoolne hinnang, kas projekt täitis oma eesmärgi, kas ja mil määral saavutasite taotluses püstitatud eesmärgid
Kui on olulisi muudatusi projekti tegevustes ja eesmärkides võrreldes algse taotlusega, siis kirjeldage põhjuseid ning andke neile
omapoolne hinnang
Projekti käigus lisati teatristatistika andmebaasi statistika.teater.ee prioriteetsematele osadele automaattestid
ning kõrvaldati seeläbi oluline tehnoloogilise võlg, et hoida andmebaas töös kuni uue arenduse loomiseni.
Tööd jagunesid kaheks etapiks – analüüsiks ja arendustöödeks. Analüüsi käigus selgus tuumkoodi
ümberkirjutamiseks ja automaattestide lisamiseks vajaminevate tööde kogus. Täpsemalt toimus
analüüsi käigus andmebaasi probleemide detailne lahtikirjutamine, andmebaasi arhitektuuri analüüsimine
automaattestide vaatevinklist, analüüsimine PHPStorm Code inspections tööriistaga ning automaattestide
kirjeldamine. Analüüsi töömaht oli kokku 82 tundi.
Teise etapi arendustöödes kaeti automaattestidega kõige prioriteetsemad osad lähtekoodist, vt 1K-Digitali
täpsemat aruannet tehtud tööde osas. Arenduse töömaht oli kokku 246 tundi. Kahjuks ei võimaldanud see
töömaht katta kogu andmebaasi vajadusi, vaid automaattestid lisati vaid kõige olulisematesse alalõikudesse.
Suurem osa alalõike on endiselt ilma automaattestideta ja vajavad kaasajastamiseks uusi vahendeid.
kuni 2600 tm
SAAVUTATUD VALDKONDLIK MÕJU JA TULEMUSED
Määratlege projekti tegevuste tagajärjel tekkinud konkreetsed tulemused
Kirjeldage projekti tulemuste mõju taotlusvooru eesmärkidele laiemalt - valdkonnale, sihtrühmale, partnerorganisatsioonidele,
piirkonnale, kogukonnale jne
Teatristatistika andmebaasi tehnoloogiline võlg on vähenenud - andmebaas on planeeritud mahus
kaasajastatud ja kõige prioriteetsemate alalõikudele on lisatud automaattestid, mis hõlbustavad vigade leidmist
ja tagavad andmebaasi parema korrashoiu. Kogu andmebaasi kaasajastamiseks on siiski vaja täiendavaid
vahendeid.
2 (7) kuni 1000 tm
SA Eesti Teatri Agentuur
SAAVUTATUD MÕJU TAOTLEJA EDASISTELE TEGEVUSTELE
Kirjeldage projekti tulemuste mõju teie organisatsiooni tegevusele (nt edasised tegevused, partnerid, liikmete ja vabatahtlike
kaasamine, pädevuse suurenemine, organisatsiooni tulubaasi laienemine, maine paranemine vms)
Projekti tulemusel on teatristatistika andmebaas paremas töökorras ning andmete sisestamine, kontrollimine ja
esitlemine on kindlamalt tagatud. Automaattestid aitavad kokku hoida andmebaasi hooldustöödeks
vajaminevaid rahalisi vahendeid. Siiski on oluline asuda planeerima täiesti uut teatristatistika andmebaasi, sest
olemasolev andmebaasi pärineb 2011. aastast ja vahepealse ajaga on muutunud nii tehnoloogilised
võimalused kui ka osapoolte ootused teatristatistika kogumisele ja esitlemisele.
kuni 1200 tm
MÕÕDETAVAD TULEMUSED
Kirjeldage projekti saavutatud tulemusi koos mõõdetava mahuga (nt sündmustest osasaajate arv, trükiste maht jms). Publiku või
külastajatega sündmuse puhul märkida publiku või külastajate arv. Trükise toetuse puhul trükise tiraaž.
Vt lisatud 1K-Digitali tööde aruannet.
kuni 1200 tm
MEEDIAKAJASTUSED, KOOSTÖÖPARTNERID
Märkige olulisemad meediakajastused ja projektis osalenud koostööpartnerid. Meediakajastused esitada võimalusel
veebilinkidena (kajastuste ja koostööpartnerite puudumisel ei ole vaja täita).
3 (7) kuni 1200 tm
SA Eesti Teatri Agentuur
PLANEERITUD TEGELIK
(taotletud) SUMMA (eraldatud) SUMMA
TULUD Planeeritud eelarve on tasakaalus! 24,128.00 € 24,128.00 €
Planeeritud tulude ja kulude summa peab võrdne (ehk eelarve tasakaalus) olema
22,000.00 € 22,000.00 €
KULTUURIMINISTEERIUMI TOETUS Selgitused
Kultuuriministeeriumi toetuse summa 22,000.00 € 22,000.00 €
2,128.00 € 2,128.00 €
OMAFINANTSEERING
€ €
Müügitulu
Muu tulu 2,128.00 € 2,128.00 € Teatristatistika toimetaja Tiia Sippoli töötasu
€ €
Mitterahaline panus
€ €
0.00 € 0.00 €
KAASFINANTSEERING
Toetused Eesti kohalikult omavalitsuselt (erinevate KOVide toetused märkida nimeliselt)
€ €
€ €
€ €
€ €
€ €
Muud toetused (toetajate lõikes - nt Kultuuriministeeriumi muu taotlusvoor, Kultuurkapital, HMN, koostööpartnerid, sponsorid jm)
€ €
€ €
€ €
€ €
€ €
€ €
€ €
€ €
€ €
€ €
4 (7)
SA Eesti Teatri Agentuur
Finantseerimisallikad
PLANEERITUD KULUD TEGELIKUD KULUD
sh Kultuuriminis- sh Kultuuriminis-
KOKKU teeriumi toetusest KOKKU teeriumi toetusest
KULUD Planeeritud eelarve on tasakaalus!
Planeeritud tulude ja kulude summa peab võrdne (ehk eelarve tasakaalus) olema
24,128.00 € 22,000.00 € 24,128.00 € 22,000.00 €
2,128.00 € 0.00 € 2,128.00 € 0.00 €
PERSONALIKULUD (suuremate kulugruppide kaupa)
Teatristatistika toimetaja Tiia Sippoli töötasu 2,128.00 € 0.00 € 2,128.00 € 0.00 €
€ € € €
€ € € €
€ € € €
€ € € €
€ € € €
€ € € €
€ € € €
MAJANDAMISKULUD (suuremate kulugruppide kaupa)
Siin kajastatakse need tellitud tööd ja teenused ning kaupade ostud, mida makstakse FIE või firma arvete
alusel, samuti litsentsitasud ja päevarahad. Sõidupiletite korral märkida kindlasti inimeste arv ning maju- 22,000.00 € 22,000.00 € 22,000.00 € 22,000.00 €
tuskulude ja päevarahade korral inimeste ja päevade arv.
statistika.teater.ee analüüs ja arendustööd 22,000.00 € 22,000.00 € 22,000.00 € 22,000.00 €
€ € € €
€ € € €
€ € € €
€ € € €
€ € € €
€ € € €
€ € € €
€ € € €
€ € € €
€ € € €
5 (7)
SA Eesti Teatri Agentuur
KULTUURIMINISTEERIUMI TOETUSE KASUTAMINE Vormi täitmisel tuleb täita kõik veerud!
Loetleda vaid need kuludokumendid, mille tasumiseks on kasutatud Kultuuriministeeriumi toetust Summa
ilma km-ta Kultuurimin.
Kuludokumendi Kuludok. Tasumise Kuludok. (täidavad ainult toetusest
Kuludokumendi nimetus Makse saaja number kuupäev kuupäev summa km-kohuslased) makstud Kulu sisu kirjeldus
1 Arve 1K-Digital 240204 18.12.2024 20.01.2025 22,000.00 18,032.79 22,000.00 statistika.teater.ee arendustööde teo
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Kui teil on rohkem kui 20 kuludokumenti, kasutage eraldiseisvat kuluaruande dokumenti detailseks kirjelduseks ning
täitke käesolev kuluaruanne üherealise kokkuvõttena (väljale kuludokumendi nimetus viide eraldiseisvale dokumendile, KOKKU 22,000.00 18,032.79 22,000.00 €
väljad “Kuludok. summa”, “Summa ilma km-ta” ja “Kultuurimin. toetusest makstud” koondsummadega).
Kultuuriministeeriumilt saadud toetus 22,000.00 €
Kultuuriministeeriumilt saadud toetuse kasutamata jääk 0.00 €
Toetuse saaja kohustub üle 5 € suuruse jäägi tagastama samal ajal aruande esitamisega.
Saaja: Rahandusministeerium; arvelduskonto: SEB EE891010220034796011 või Swedbank EE932200221023778606; viitenumber: 2800047436; selgitus: leping nr ...
6 (7)
SA Eesti Teatri Agentuur
ARUANDE ESITAJA KINNITUS
Allkirjaga kinnitan järgnevat
. kõik käesolevas aruandes esitatud andmed on õiged ning esitatud dokumendid on kehtivad ja ehtsad
ning vajadusel võimaldan neid kontrollida;
. projekti omafinantseeringuna ei ole arvestatud teisi riigi, kohalike omavalitsuste või muude Euroopa
Liidu institutsioonide või fondid poolt antud tagastamatuid toetusi;
. juhul, kui ma olen käibemaksukohustuslane, siis käesolevas aruandes on esitatud kulud ilma
tagastatava sisendkäibemaksuta.
Allkirjaõigusliku isiku ees- ja perenimi Kirsten Simmo
Allkiri (paberkandjal)
Kuupäev 20.01.2025
pp.kk.aaaa
7 (7)
SA Eesti Teatri Agentuur
Statistikabaasi testimise ja
refaktoreerimise aruanne
1K-Digital.com
2025
Sisukord
1. Süsteemsed tööd ja muudatused 3
2. Tehtud tööd vastavalt analüüsi skoobile 4
3. Tuvastatud probleemid ja tähelepanekud 5
4. Testid 7
4.1. Seadistus ja Keskkond 7
4.2. ProductionServiceTest 7
4.2.1. Testide ülevaade 7
4.3. PersonServiceTest 10
4.3.1. Testide ülevaade 10
4.4. FestivalServiceTest 11
4.4.1. Testide ülevaade 12
4.5. ShowServiceTest 12
4.5.1. Testide ülevaade 13
4.6. ProductionsControllerTest 13
4.6.1. Testide ülevaade 14
4.7. ProductionXLSServiceTest 14
4.7.1. Testide ülevaade 14
4.8. Statistika generaatori testid 14
4.8.1. StatisticsGeneratorServiceTest 15
4.8.1.1. Testide ülevaade 15
4.8.2. ProductionCountersTest 16
4.8.2.1. Testide ülevaade 16
4.8.3. ShowCountersFactoryTest 17
4.8.3.1. Testide ülevaade 17
4.8.4. CostsTest 18
4.8.4.1. Testide ülevaade 18
4.8.5. PerformanceTest 19
4.8.5.1. Testide ülevaade 19
4.8.6. SoldTicketsTest 20
4.8.6.1. Testide ülevaade 20
4.8.7. VisitorsTest 21
4.8.7.1. Testide ülevaade 21
1. Süsteemsed tööd ja muudatused
Süsteemselt on toimunud järgnevad muudatused:
● PHP versioon muutus 8.1 pealt 8.2 peale.
● Uus refaktoreeritud kood jookseb CodeIgniter 4.5.2 mootori peal. Paralleelselt
on kasutuses CodeIgniter 3, mille pealt jookseb vana (legacy) kood.
● Arendustegevus toimub nüüd läbi Dockeri arenduskeskkonna ja kasutuses on
Xdebug tööriist.
● statistika.teater.ee adminstreerimisliidese URL’ist kustus index.php
○ näiteks https://statistika.teater.ee/index.php?/admin/main on nüüd
https://statistika.teater.ee/admin/main
● Loodud on 29 uut mudelid andmebaasi päringute haldamiseks. Mudelid on
loodud kõigile andmebaasi tabelitele ja moodulitele, mis antud
refaktoreerimise käigust olid vajalikud. Lisaks sellele on loodud baasmudel
(üldiste päringute haldamiseks).
● Loodud on kaheksa abi klassi (helper), mis teevad koodi loetavamaks,
laiendatavaks ja testitavaks.
● Varasemalt oli palju HTMLi genereerimist otse kontrolleris. Nüüd on testitud
funktsionaalsustes viidud need HTML’id CodeIgniter 4 templatideks. See
parandab oluliselt loetavust ja testitavust. Kokku on hetkel loodud 59 uut
template’i.
● Hetkel on loodud ka seitse uut kontrollerit testitavatele moodulitele. Need
kontrollerid sisaldavad funktsionaalsuseid, mis on nüüd täielikult CodeIgniter 4
peale üle viidud. Hetkel kasutavad aga vaated veel CodeIgniter 3
kontrolleried, mis kutsuvad vajadusel uusi kontrollerid ise välja. Tulevikus on
võimalik panna vaated otse uusi kontrolleried kasutama.
● Põhiline loogika mis kuulub testimisele on nüüd refaktoreeritud teenusteks.
Teenuste meetodeid on võimalik korduvkasutada erinevates moodulites ja
kontrollerites.
● Tööde käigus sai kirjutatud 174 testi, mis sisaldavad kokku 950 erinevat
kontrolli tulemuste valideerimiseks.
2. Tehtud tööd vastavalt analüüsi skoobile
Vastavalt analüüsis välja toodud skoobile sai ümber kirjutatud ja testidega kaetud järgnevad
moodulid:
1. Generaator
a. Avaliku statistika andmete genereerimine
2. Inimesed
a. Lisamine
b. Muutmine
c. Kustutamine
d. Seosed
i. Teatriga
ii. Töökoormused
3. Lavastused
a. Lisamine
b. Muutmine
c. Kustutamine
d. Seosed
i. Trupp (inimesed)
ii. Etendused
e. Koostöölavastused
f. Exeli genereerimine
g. PDF’i genereerimine
4. Festivalid
a. Lisamine
b. Muutmine
c. Kustutamine
d. Seosed
i. Programmid
ii. Etendused
e. PDF’i genereerimine
5. Etendused
a. Lisamine
b. Muutmine
c. Kustutamine
3. Tuvastatud probleemid ja tähelepanekud
Antud nimekiri on koostatud hetkel tööde käigus selgunud probleemidest ja ei ole
lõplik.
● PersonModel->getPersonById
○ Ei kasuta staatuse filtrit, mis tähendab, et tagastatakse kõik tulemused,
kaasa arvatud aegunud ja kustutatud kirjed
● PersonModel->filterSimilarResults
○ võrdluste arv peaks olema 0, vastasel juhul kui ainult 2 inimest on
sarnased, siis neid ei kuvata, kuna vähemalt 2 vastet tähendab, et
minimaalselt on vaja 3 inimest sarnaste isikute kuvamiseks.
● Lavastuste nimekiri
○ Kuvatakse tühjasid lavastusi.
● Isikute nimekiri
○ Isikute ameti ja aktiivsuse filter ei tööta
○ Funktsionaalsuse muudatused võrreldes pärandkoodiga
■ Muudetud on globalSave funktsiooni nii, et see tühjendab
salvestatud tabeli vahemälu, et vältida andmete kättesaamise
probleeme
● Andmete kättesaamisel on ruumi optimeerimiseks
○ kuna praegu legacy koodi järgides rakendatakse piirangud ja kuvamise
filtreerimine pärast kõigi tulemuste tagastamist
● getFilteredProductions
○ funktsioonis toimub kuupäeva filtreerimine pärast kõigi tulemuste
kättesaamist
● Inimese sidumine teatriga
○ Töösuhe ei ole eeltäidetud
○ Veateavitusel tagastatakse vale vorm.
○ Kui inimesega on juba teater seoutud siis uue teatri seose lisamisel
täidetakse andmed varasemaga kuigi lisatakse uut teatrit seotakse
● PersonModel->findPersons
○ funktsioon võiks kasutada groupby unikaalsete personId-de
filtreerimiseks
● getPersonsList
○ funktsioonis kuvatakse "näita rohkem" nupp ainult agentuuri kasutajale.
Peaks olema lubatud ka teatri kasutajale? Tõenäoliselt pole see
probleemiks tulnud, kuna piirangud on pärandkoodis kasutamata, sest
piirang on 8000 ja isikute koguarv on 7835
○ kui piiramine lubada, siis tekivad probleemid isikute tagastamisega
tähestiku järjekorras kuna piiramine võtab aset enne sorteerimist
● formatPersonData->getPersonsList
○ funktsioonis jaoks võiks järgmist filtreerida andmebaasi päringus, et
vähendada andmete töötlemist Võimalik, et seda saaks teha
andmebaasi päringuga, sorteerides tulemused validfrom järgi ja
piirates tulemused 1-le theatreId kohta
● Statistika generaator
○ Kui üldiselt sai kontrollitud, et uue generaatori teenuse kaudu
genereeritud andmestik oleks sama vana süsteemi poolt genereeritud
eelnevate andmetega, siis tuli välja ka selliseid andmete ebakõlasid,
kus varasemalt esitatud statistilised andmed ei kattunud
administreerimisliideses olevate andmetega. Uue teenuse poolt
genereeritud andmed on vastavuses administreerimisliideses
kuvatavate andmetega.
○ Lahendatud sai ka mitu probleemi andmete versioneerimisega.
● Legacy koodis olid funktsioonid mitmes kohas, mis täitsid sama ülesannet
väikeste vahedega selle parandamiseks on näiteks konsolideeritud
funktsioonid get_theatre_name(), get_all_theate_names()
,theatre->get_approved_theate_names() funktsiooniks getTheatreNames,
get_all_theate_names
● Festivalide PDF on vigane paigutuse ja stiili poolest
● Lavastuste pdf genereerimisel parandatud esinejate rollide näitamine
● Lavastuste XLS Genereerimisel võivad erineda mõningad andmed näiteks
Külalisetendused
● URLide genereerimine ja kasutamine ei toiminud korrektselt ning hetkel on
tehtud ajutine lahendus
● user_can_view_festival() funkstioon ei toiminud õigesti kuna ei saanud kätte
festivaliga seotud teatreid. Tagastas alati jaatava vastuse kui kutsuti.
● getFestivalsByYear() eelnevalt get_festivals_by_year() ei näita festivale
kuupäevaga 1ne jaanuar 00:00:00 kuna 0 sekundit ei arvestata sobivaks
● Liikemete lisamisel inimesed lehel hetkel ei näidata veakoodi vaid lihtsalt
suletakse aken.
4. Testid
4.1. Seadistus ja Keskkond
● Kasutab CodeIgniter'i testraamistikku koos andmebaasi testimise
võimalustega
● Seadistab test-andmebaasi ühendused ja mudelid
● Initsialiseerib vajalikud teenused ja konstandid
● Sisaldab keskkonna lähtestamise funktsionaalsust
4.2. ProductionServiceTest
See testkomplekt kontrollib lavastustega seotud toiminguid teatri haldussüsteemis.
Testkomplekt hõlmab lavastuste haldamise erinevaid aspekte, sealhulgas
ligipääsukontrolli, andmehaldust, meeskonna haldamist ja statistilisi arvutusi. See
kasutab andmebaasi testimise ja testandmete kombinatsiooni ProductionService
klassi funktsionaalsuse kontrollimiseks.
Kokku on loodud 56 testi, mis teeb 314 kontrolli andmete ja tulemuste õigsuse
kontrollimiseks.
4.2.1. Testide ülevaade
● Ligipääsukontroll
○ testUserCanViewProductionAsAgency: Kontrollib agentuuri ligipääsu
lavastustele
○ testUserCanViewProductionAsTheatre: Kontrollib teatri ligipääsu oma
ja teiste lavastustele
○ testPerformersTableDataAccessControlAsAgency: Kontrollib agentuuri
ligipääsu esinejate andmetele
○ testPerformersTableDataAccessControlAsTheatre: Kontrollib teatri
piiratud ligipääsu esinejate andmetele
● Lavastuste Andmete Haldamine
○ testGetProductionData: Kontrollib lavastuse info kättesaamist
○ testGetProductionTheatres: Kontrollib lavastustega seotud teatrite
kättesaamist
○ testGetProductionsListBasicFilters: Kontrollib lavastuste nimekirja
filtreerimist
○ testGetProductionsListWithKeyword: Kontrollib märksõnaotsingu
funktsionaalsust
● Meeskonna Haldamine
○ testGetTeamListTableData: Kontrollib meeskonna nimekirja andmete
kättesaamist
○ testSaveTeamMember: Kontrollib meeskonnaliikmete lisamist
○ testRemoveTeamListMember: Kontrollib meeskonnaliikmete
eemaldamist
○ testGetTeamListData: Kontrollib põhjalikku meeskonna andmete
kättesaamist
● Lavastajate Haldamine
○ testAddTeamListDirector: Kontrollib lavastajate lisamist lavastustele
○ testGetDirectorListTableData: Kontrollib lavastajate nimekirja andmete
kättesaamist
○ testGetDirectorListData: Kontrollib põhjalikku lavastajate andmete
kättesaamist
○ testGetTeamDirectorPopup: Kontrollib lavastaja hüpikakna
funktsionaalsust
● Esinejate Haldamine
○ testInsertPerformerToProduction: Kontrollib esinejate lisamist
○ testGetPerformersTableData: Kontrollib esinejate andmete
kättesaamist
○ testGetPerformersTableDataWithGroupInfo: Kontrollib esinejate
grupiinfo kättesaamist
○ testRemoveFromProduction: Kontrollib esinejate eemaldamist
● Gruppide Haldamine
○ testSetProductionGroupTotal: Kontrollib grupi kogusumma seadistamist
○ testSetProductionGroupNr: Kontrollib grupi numbrite seadistamist
○ testSetPersonsGroupAssoc: Kontrollib isiku-grupi seoseid
○ testUpdateProductionPeopleGroups: Kontrollib gruppide uuendamist
○ testUpdateProductionPeopleGroupsForNewYear: Kontrollib
aastavahelist gruppide uuendamist
● Lavastuse Olek ja Statistika
○ testCalculateProductionTotalsWithDivision: Kontrollib lavastuse
kogusummade arvutamist
○ testCalculateSummaryTotals: Kontrollib kokkuvõtete arvutamist
○ testGetProductionStatusDataForSingleTheatre: Kontrollib ühe teatri
olekut
○ testGetProductionStatusDataForMultiTheatre: Kontrollib mitme teatri
olekut
○ testShouldDisablePdfExport: Kontrollib PDF ekspordi valideerimist
● testSaveProductionData:
○ Kontrollib lavastuse põhiandmete salvestamist
● testGetStationaryInfo:
○ Kontrollib statsionaarse mängukoha info kättesaamist
● testGetTheatreActiveProductions:
○ Kontrollib teatri aktiivsete lavastuste nimekirja
● testGetAddStep2Data:
○ Kontrollib lavastuse teise sammu andmete lisamist
● testGetHallOwnerInfo:
○ Kontrollib saali omaniku info kättesaamist
● testGetTeamListData:
○ Kontrollib meeskonna nimekirja andmete kättesaamist
● testGetDirectorListData:
○ Kontrollib lavastajate nimekirja andmete kättesaamist
● testGetStep0Data:
○ Kontrollib lavastuse esimese sammu andmeid
● testGetStep1Data:
○ Kontrollib lavastuse teise sammu andmeid
● testSaveStep0WithNewProduction:
○ Kontrollib uue lavastuse esimese sammu salvestamist
● testSaveStep1:
○ Kontrollib lavastuse teise sammu salvestamist
● testSaveStep2:
○ Kontrollib lavastuse kolmanda sammu salvestamist
● testGetStep3Data:
○ Kontrollib lavastuse neljanda sammu andmeid
● testGetAuthorData:
○ Kontrollib autori andmete kättesaamist
● testGetLocationData:
○ Kontrollib asukoha andmete kättesaamist
● testGetProductionStatusBoxData:
○ Kontrollib lavastuse oleku kasti andmeid
● testGetProductionStatusBoxDataSingleTheatre:
○ Kontrollib ühe teatri lavastuse oleku andmeid
● testGetProductionStatusBoxDataMultiTheatre:
○ Kontrollib mitme teatri lavastuse oleku andmeid
● testGetTheatreStatusesWithNoStatuses:
○ Kontrollib teatrite olekute käsitlemist kui olekud puuduvad
● testGetTheatreStatusesWithStatuses:
○ Kontrollib teatrite olekute kättesaamist
● testCalculateProductionTotalsWithoutDivision:
○ Kontrollib lavastuse kogusummade arvutamist ilma jaotuseta
● testSaveProductionTheatreLink:
○ Kontrollib lavastuse ja teatri vahelise seose salvestamist
● testSaveProductionTheatreStatus:
○ Kontrollib lavastuse teatri oleku salvestamist
● testRemoveProductionTheatreLink:
○ Kontrollib lavastuse ja teatri vahelise seose eemaldamist
● testUpdateShowTypesWithExistingShows:
○ Kontrollib olemasolevate etenduste tüüpide uuendamist
4.3. PersonServiceTest
See testkomplekt kontrollib isikute haldamise funktsionaalsust teatri
haldussüsteemis. Testid katavad isikute lisamist, muutmist, otsimist, filtreerimist ja
seoseid teatritega. Lisaks kontrollitakse haridusandmete ja töölepingute haldamist.
Testkomplekt sisaldab 16 testi, mis teostavad 124 kontrolli isikuandmete töötlemise
korrektsuse tagamiseks.
4.3.1. Testide ülevaade
● testFindPersons():
○ Kontrollib isikute otsimist ees- ja perekonnanime järgi
○ Testib otsimist ainult eesnime või perekonnanime järgi
○ Kontrollib, et mitteeksisteerivate nimede otsimisel tagastatakse tühi
tulemus
● testRemovePerson():
○ Testib isiku eemaldamist agentuurina
○ Kontrollib, et "ootel" staatusega isik kustutatakse täielikult
○ Kontrollib, et kinnitatud staatusega isik märgitakse "deprecated"
staatusesse
○ Testib isiku eemaldamist teatri kasutajana
○ Kontrollib õiguste puudumisel eemaldamise blokeerimist
● testGetData():
○ Kontrollib isiku andmete pärimist ilma lavastuse ID-ta
○ Kontrollib isiku andmete pärimist koos lavastuse ID-ga
○ Testib mitteeksisteeriva isiku päringu käitumist
● testGetPersonsList():
○ Testib põhilist isikute nimekirja pärimist
○ Kontrollib filtreerimist teatri järgi
○ Testib otsingut märksõna järgi
○ Kontrollib filtreerimist soo järgi
● testGetPersonsListWithPagination():
○ Kontrollib lehekülgede jaotust väikese tulemuste arvu korral
○ Testib lehekülgede jaotuse käitumist filtrite olemasolul
○ Kontrollib lehekülgede jaotust agentuuri kasutajate jaoks
● testGetPersonsListWithSimilar():
○ Testib sarnaste nimede leidmist
○ Kontrollib, et leitakse sarnaste nimedega isikud (nt Johannes, Johann,
Johanne)
● testSavePerson():
○ Testib uue isiku loomist
○ Kontrollib olemasoleva isiku andmete uuendamist
○ Testib valideerimise vigade käsitlemist
● testGetDataBasicPerson():
○ Kontrollib põhiliste isikuandmete kättesaamist ilma lisakontekstita
○ Testib õigete andmeväljade olemasolu
○ Kontrollib tühjade seotud andmete käitlemist
● testGetDataWithTheatreLink():
○ Kontrollib teatriga seotud isikuandmete kättesaamist
○ Testib teatri seose andmete õigsust
○ Kontrollib ametikoha ja töösuhte info olemasolu
● testGetDataWithProduction():
○ Kontrollib lavastusega seotud isikuandmete kättesaamist
○ Testib lavastuse kontekstis teatri info kättesaamist
○ Kontrollib lavastuse-teatri seose õiget käsitlemist
● testGetDataWithSchools():
○ Kontrollib haridusandmetega isikuandmete kättesaamist
○ Testib tavakoolide ja "muu kooli" andmete korrektset käsitlemist
○ Kontrollib haridustasemete info õigsust
● testGetDataInvalidPerson():
○ Kontrollib vigase isiku ID käsitlemist
○ Testib veateate genereerimist
○ Kontrollib süsteemi korrektset käitumist vea korral
● testFormatSchoolsForDisplay():
○ Kontrollib haridusandmete kuvamiseks formaatimist
○ Testib tavakoolide ja "muu kooli" eristamist
○ Kontrollib andmete struktureerimist kuvamiseks
● testGetAllTheatrePersons():
○ Kontrollib teatri kõigi isikute kättesaamist
○ Testib filtreerimist teatri järgi
○ Kontrollib mitteeksisteeriva teatri käsitlemist
● testGetAllTheatrePersonsNew():
○ Kontrollib teatri isikute uuendatud kättesaamist
○ Testib erinevate staatustega isikute käsitlemist
○ Kontrollib isikute andmete struktureerimist
● testSavePersonToTheatre():
○ Kontrollib isiku teatriga sidumise salvestamist
○ Testib olemasoleva seose uuendamist
○ Kontrollib seose andmete õigsust
4.4. FestivalServiceTest
See testkomplekt kontrollib festivalide haldamise funktsionaalsust teatri haldussüsteemis.
Testid hõlmavad festivalide CRUD operatsioone, programmide haldamist, teatrite seoseid ja
õiguste kontrolli.
Testkomplekt sisaldab 18 testi, mis teevad kokku 97 kontrolli, tagamaks festivalide korrektset
toimimist süsteemis.
4.4.1. Testide ülevaade
● testGetFestivalsByYear
○ Kontrollib festivalide aasta järgi filtreerimist
● testDeleteFestivalProgram
○ Kontrollib festivali programmi kustutamise funktsionaalsust
● testUserCanViewFestival
○ Kontrollib kasutajate ligipääsuõigusi festivalide vaatamiseks
● testDeleteFestival
○ Kontrollib festivali kustutamise funktsionaalsust
● testSaveProgram
○ Kontrollib festivali programmi salvestamist
● testUpdateProgramPriorities
○ Kontrollib programmide järjestuse muutmist
● testSaveFestivalStep0
○ Kontrollib festivali põhiandmete salvestamist
● testValidateFestivalStep0
○ Kontrollib festivali põhiandmete valideerimist
● testGetFestivalProgramPopup
○ Kontrollib programmi hüpikakna andmete kättesaamist
● testGetHallOwnerInfo
○ Kontrollib saali omaniku info kättesaamist
● testProcessTheatreCooperation
○ Kontrollib teatrite koostöö andmete töötlemist
● testGetFestivalData
○ Kontrollib festivali andmete kättesaamist
● testValidateProgramData
○ Kontrollib programmi andmete valideerimist erinevate sisendandmetega
● testLoadDateRangeData
○ Kontrollib kuupäevavahemike andmete laadimist
● testProcessTheaterData
○ Kontrollib teatrite andmete töötlemist, sealhulgas duplikaatide käsitlemist
● testValidateFestivalStep0WithCustomValidations
○ Kontrollib festivali põhiandmete valideerimist erijuhtudel (kuupäevad, teatrid)
● testUserCanViewFestivalWithVariousPermissions
○ Kontrollib erinevate kasutajaõigustega festivali vaatamise võimalusi
● testGetHallOwnerInfoWithVariousScenarios
○ Kontrollib saali omaniku info kättesaamist erinevate stsenaariumite korral
4.5. ShowServiceTest
See testkomplekt kontrollib etenduste haldamise funktsionaalsust teatri haldussüsteemis.
Testid hõlmavad etenduste lisamist, muutmist, asukohtade haldamist, piletimüügi andmete
töötlemist ja statistika arvutamist.
Testkomplekt sisaldab 16 testi, mis teostavad 71 kontrolli etenduste andmete korrektsuse
tagamiseks.
4.5.1. Testide ülevaade
● testGetShowsList
○ Kontrollib etenduste nimekirja kättesaamist
● testShowsListWithPagination
○ Kontrollib etenduste nimekirja lehekülgedeks jagamist
● testGetShowsListWithLocation
○ Kontrollib asukohaga etenduste nimekirja
● testDeleteShow
○ Kontrollib etenduse kustutamise funktsionaalsust
● testConfirmShowProfiles
○ Kontrollib etenduste profiilide kinnitamist
● testGetStationaryInfo
○ Kontrollib statsionaarse asukoha info kättesaamist
● testValidateShowProfile
○ Kontrollib etenduse profiili valideerimist
● testSaveShowProfile
○ Kontrollib etenduse profiili salvestamist
● testGetShowDividerData
○ Kontrollib etenduse jagamise andmete kättesaamist
● testGetFestivalDropdownData
○ Kontrollib festivalide rippmenüü andmeid
● testGetStationaryInfoWithCustomLocation
○ Kontrollib kohandatud asukoha info kättesaamist
● testConfirmShowProfilesWithMultipleShows
○ Kontrollib mitme etenduse kinnitamist
● testGetShowLocation
○ Kontrollib etenduse asukoha info kättesaamist
● testGetShowLocationWithCustomLocation
○ Kontrollib kohandatud asukoha kättesaamist
● testGetShowLocationAsArray
○ Kontrollib asukohaandmete massiivina kättesaamist
● testGetShowLocationWithHall
○ Kontrollib saalis toimuva etenduse asukohaandmete kättesaamist
4.6. ProductionsControllerTest
See testkomplekt kontrollib lavastuste kontrolleri funktsionaalsust, mis käsitleb HTTP
päringute töötlemist ja vaadete genereerimist. Testid katavad gruppide haldamist,
meeskonna haldamist ja lavastuste valideerimist.
Testkomplekt sisaldab 8 testi, mis teostavad 29 kontrolli kontrolleri funktsioonide korrektseks
toimimiseks.
4.6.1. Testide ülevaade
● testHandleGroupTotal
○ Kontrollib grupi kogusumma käsitlemist
● testHandleGroupAssignment
○ Kontrollib gruppidesse määramise käsitlemist
● testHandlePersonAssignment
○ Kontrollib isikute määramise käsitlemist
● testHandleDisplayPerformersTable
○ Kontrollib esinejate tabeli kuvamist
● testHandleTeamListPopup
○ Kontrollib meeskonna nimekirja hüpikakna käsitlemist
● testHandleRemoveProduction
○ Kontrollib lavastuse eemaldamise käsitlemist
● testValidateProductionStep0
○ Kontrollib lavastuse esimese sammu valideerimist
● testValidateProductionStep1
○ Kontrollib lavastuse teise sammu valideerimist
4.7. ProductionXLSServiceTest
See testkomplekt kontrollib lavastuste andmete Excel formaati eksportimise
funktsionaalsust. Testid katavad erinevaid andmete genereerimise stsenaariume, teatrite
lõikes jaotamist ja failiformaatide korrektsust. Testkomplekt sisaldab 6 testi, mis teostavad 26
kontrolli, tagamaks eksporditud andmete täpsuse ja terviklikkuse.
4.7.1. Testide ülevaade
● testGenerateXLSDataBasicProduction
○ Kontrollib põhiliste lavastuse andmete XLS genereerimist
● testGenerateXLSDataMultipleTheatres
○ Kontrollib mitme teatri lavastuste XLS genereerimist
● testGenerateXLSFile
○ Kontrollib XLS faili loomist
● testGenerateXLSDataWithGuestPerformances
○ Kontrollib külalisetenduste XLS andmete genereerimist
● testGenerateXLSDataWithInvalidProduction
○ Kontrollib vigase lavastuse XLS genereerimise käsitlemist
● testGenerateXLSDataWithNoShows
○ Kontrollib ilma etendusteta lavastuste XLS genereerimist
4.8. Statistika generaatori testid
Statistika generaatori funktsionaalsuse testimiseks on loodud kokku seitse testkomplekti.
Üks on funktsionaalne testkomplekt, mis testib genereeritud andmete õigsust andmebaasis
ja 6 unit-test’i testkomplekti, mis testivad generaatori tööd sügavamalt.
4.8.1. StatisticsGeneratorServiceTest
Antud test on funktsionaalne test kogu statistika generaatori süsteemi testimiseks ja
andmete valideerimiseks. Iga test kasutab põhjalikku testandmete seadistust abimeetodite
kaudu ja valideerib genereeritud statistikat võrreldes oodatavate väärtustega andmebaasi
tabelites.
4.8.1.1. Testide ülevaade
● testGeneratesCorrectTheatresStatisticsData
○ Kontrollib, et teatrite statistilised andmed genereeritakse korrektselt mitme
teatri jaoks
○ Valideerib teatri andmeid, sealhulgas põhiinfot, truppi, saale ja
produktsioonitüüpe
○ Kontrollib andmeid aktiivsete, aegunud, keelatud ja välja jäetud teatrite kohta
● testGeneratesCorrectTheatresCoopData
○ Kontrollib teatrite vaheliste koostöölavastuste andmete genereerimist
○ Valideerib mitme teatri vahel jagatud lavastuste andmeid
○ Spetsiifiliselt kontrollib koostöölavastuste detaile nagu tüüp, žanr, kuupäev ja
osalevad teatrid
● testGeneratesFestivalsData
○ Kontrollib festivalide statistika genereerimist
○ Valideerib festivalide andmeid, sealhulgas esinejate infot, etenduste detaile,
asukohti ja külastajate statistikat
○ Kontrollib nii tavalisi etendusi kui ka spetsiifiliste asukohtadega etendusi
festivalidel
● testGeneratesShowsData
○ Kontrollib etenduste statistika genereerimist
○ Valideerib kolme tüüpi etenduste andmeid:
■ Külastajad teatri asukohas
■ Teatri külalisetendused teistes asukohtades
■ Etenduste statistika asukohtade järgi
■ Kontrollib detaile nagu etenduste arv, külastajate arv ja asukoha
informatsioon
● testGeneratesPersonsData
○ Kontrollib isikutega seotud statistika genereerimist
○ Valideerib teatri personali andmeid, sealhulgas:
■ Nende rollid ja ametikohad
■ Lavastused, milles nad osalevad
■ Esituste statistika (lavastatud etendused, külastajate arvud)
■ Tööhõive detailid (lepingu tüübid, kehtivusperioodid)
4.8.2. ProductionCountersTest
Tegemist on unit-testiga, mis testib lavastuste statistika generaatori poolt kasutatavaid
loendurite välja kutsumist ja kasutamist.
4.8.2.1. Testide ülevaade
● test_counts_new_drama_productions
○ Kontrollib uute draamalavastuste loendamist konkreetse teatri jaoks
● test_counts_new_music_productions
○ Kontrollib uute muusikalavastuste loendamist konkreetse teatri jaoks
● test_counts_total_repertoire ja test_counts_new_total_repertoire
○ Kontrollib kõigi repertuaaris olevate lavastuste loendamist
○ Kontrollib nii koguhulka kui ka uuslavastusi
● test_counts_productions_by_target_audience ja
test_counts_new_productions_by_target_audience
○ Testib lavastuste loendamist sihtgrupi järgi (väikelapsed ja lapsed)
○ Testib nii koguhulka kui ka uuslavastusi
● test_counts_drama_by_genre ja test_counts_new_drama_by_genre
○ Kontrollib draamalavastuste loendamist žanri järgi (draama vs komöödia)
○ Testib nii koguhulka kui ka uuslavastusi
● test_counts_music_by_genre ja test_counts_new_music_by_genre
○ Kontrollib muusikalavastuste loendamist žanri järgi (ooper vs operett)
○ Testib nii koguhulka kui ka uuslavastusi
● test_counts_drama_by_text_origin ja test_counts_new_drama_by_text_origin
○ Testib draamalavastuste loendamist teksti päritolu järgi (eesti vs välismaine)
○ Testib nii koguhulka kui ka uuslavastusi
● test_ignores_productions_outside_date_range
○ Kontrollib, et määratud ajavahemikust väljapoole jäävaid lavastusi ei loetaks
● test_ignores_productions_from_other_theatres
○ Tagab, et teiste teatrite lavastusi ei arvestataks loendamisel
● test_counts_dance_productions
○ Testib tantsulavastuste loendamist (nii koguhulk kui ka uuslavastused)
● test_counts_puppet_productions
○ Testib nukuetenduste loendamist (nii koguhulk kui ka uuslavastused)
● test_counts_circus_productions
○ Testib tsirkuselavastuste loendamist (nii koguhulk kui ka uuslavastused)
● test_counts_multi_productions
○ Testib mitmeliigiliste lavastuste ja nende konkreetsete žanrite loendamist
○ Sisaldab sõna-muusika-liikumise lavastusi
● test_counts_other_productions
○ Testib "muu" kategooriasse liigitatud lavastuste loendamist
● test_counts_productions_by_all_target_audiences
○ Põhjalik test kõigi sihtgruppide jaoks (teismelised, noored, täiskasvanud)
● test_counts_dance_productions_by_genre
○ Testib tantsulavastuste loendamist konkreetsete žanrite järgi (klassikaline,
modernne, tänava, modernseeria)
● test_counts_drama_by_all_genres
○ Testib draamalavastuste loendamist täiendavate žanrite järgi (tragikomöödia,
luule)
● test_counts_drama_by_text_types
○ Testib draamalavastuste loendamist tekstitüüpide (dramatiseering) ja päritolu
järgi
● test_counts_music_by_all_genres
○ Testib muusikalavastuste loendamist täiendavate žanrite järgi (muusikal,
modernne, kontsert)
● test_counts_multi_by_all_genres
○ Testib mitmeliigiliste lavastuste loendamist konkreetsete žanrite järgi
(muusika-tants, muu)
● test_counts_all_music_productions
○ Testib kõigi muusikalavastuste loendamist konkreetse teatri jaoks
● test_counts_all_drama_productions
○ Testib kõigi draamalavastuste loendamist konkreetse teatri jaoks
4.8.3. ShowCountersFactoryTest
Tegemist on unit-testiga, mis testib etenduste statistika generaatori poolt kasutatavaid
loendurite välja kutsumist ja kasutamist.
4.8.3.1. Testide ülevaade
● testMethodExistsForPerformances
○ Kontrollib etenduste-seotud meetodite nimede tuvastamist
○ Kontrollib nii kehtivaid eesliiteid (performance_total) kui ka järelliiteid
(total_performances)
○ Kinnitab, et kehtetud meetodi nimed lükatakse tagasi
● testMethodExistsForVisitors
○ Kontrollib külastajatega seotud meetodite nimede tuvastamist
○ Valideerib eesliiteid nagu visitors_total, visitors_county_web
○ Tagab, et üksik sõna "visitors" lükatakse tagasi
○ Kontrollib, et valed eesliited lükatakse tagasi
● testMethodExistsForCosts
○ Valideerib kuludega seotud meetodite nimede tuvastamist
○ Testib eesliiteid nagu cost_drama_stationary, cost_music_outside
○ Tagab, et üksik sõna "costs" lükatakse tagasi
○ Kinnitab, et valed eesliited lükatakse tagasi
● testMethodExistsForSoldTickets
○ Kontrollib müüdud piletite meetodite nimede tuvastamist
○ Valideerib järelliiteid nagu drama_sold_tickets
○ Tagab, et üksik sõna "tickets" lükatakse tagasi
○ Kontrollib, et valed järelliited lükatakse tagasi
● testCallMethodForPerformances
○ Testib etenduste meetodite tegelikku väljakutsumist
○ Kontrollib, et tagastustüüp on täisarv
○ Kinnitab, et arv vastab testandmetele (2)
● testCallMethodForVisitors
○ Testib külastajate meetodite tegelikku väljakutsumist
○ Kontrollib, et tagastustüüp on täisarv
○ Kinnitab, et arv vastab testandmetele (2)
● testCallMethodForCosts
○ Testib kulude meetodite tegelikku väljakutsumist
○ Kontrollib, et tagastustüüp on massiiv
○ Kontrollib konkreetset kulude andmestruktuuri koos oodatavate väärtustega
○ Valideerib keskmise tulu ja piletite arvutused
● testCallMethodForSoldTickets
○ Testib piletite meetodite tegelikku väljakutsumist
○ Kontrollib, et tagastustüüp on täisarv
○ Kinnitab, et piletite arv vastab testandmetele (50)
● testCallNonExistentMethod
○ Testib käitumist mittekehtivate meetodite väljakutsumisel
○ Kontrollib, et olematu meetodi puhul tagastatakse null
4.8.4. CostsTest
Testid tagavad, et Costs klass arvutab õigesti kulud, keskmise tulu ja keskmised piletid
erinevate etendusetüüpide, asukohtade ja sihtgruppide jaoks, arvestades eraldi ka tulude
jagamise juhtumeid.
4.8.4.1. Testide ülevaade
● testRevenueDivide
○ Testib kulude arvutamist spetsiifiliselt draamaetenduste puhul, kus on tulude
jagamine
○ Kontrollib, et tulud ja piletid on õigesti jagatud vastavalt tulude jagamise
kokkuleppele
● testBasicCostCalculations
○ Testib üldiseid kulude arvutusi erinevate etendusetüüpide lõikes
○ Kontrollib kogukulusid (sh tulude jagamise mõju)
○ Testib spetsiifilisi kulusid draama-, muusika- ja tantsuetenduste jaoks
○ Kontrollib keskmise tulu ja piletite arvutusi
● testLocationBasedCosts
○ Testib kulude arvutamist etenduse asukoha põhjal (statsionaarne vs
välietendus) kõigi etendusetüüpide jaoks:
■ Draamaetendused
■ Muusikaetendused
■ Tantsuetendused
■ Nukuetendused
■ Tsirkuseetendused
■ Mitmeliigilised etendused
○ Kontrollib õiget käitumist juhtudel, kus teatud asukohas etendusi ei toimu
● testSpecializedPerformanceCosts
○ Testib kulude arvutamist spetsiifiliste etendusetüüpide jaoks:
■ Nukuetendused
■ Tsirkuseetendused
■ Mitmeliigilised etendused
○ Kontrollib nii põhikulusid kui keskmise tulu/piletite arvutusi
● testTargetAudienceCosts
○ Testib kulude arvutamist sihtgrupi kategooriate põhjal:
■ Väikelapsed
■ Lapsed
■ Teismelised
■ Noored
■ Täiskasvanud
○ Loob testandmed iga sihtgrupi jaoks ja kontrollib kulude arvutusi
4.8.5. PerformanceTest
Antud testkomplekt kontrollib Performance klassi võimet käsitleda erinevaid lavastustüüpe
korrektsel.
4.8.5.1. Testide ülevaade
● testBasicPerformanceCounts
○ Kontrollib etenduste koguarvu
○ Kontrollib statsionaarsete ja väljasõiduetenduste arvu
○ Kontrollib veebietenduste arvu
● testPerformancesByType
○ Kontrollib etenduste arvu iga tüübi kohta (nii statsionaarsed kui väljasõidud):
■ Sõnalavastused (statsionaarsed ja väljasõidud)
■ Muusikalavastused (statsionaarsed ja väljasõidud)
■ Tantsulavastused (statsionaarsed ja väljasõidud)
■ Nukulavastused (statsionaarsed ja väljasõidud)
■ Tsirkuselavastused (statsionaarsed ja väljasõidud)
■ Mitmeliigilised lavastused (statsionaarsed ja väljasõidud)
● testPerformancesByGenre
○ Kontrollib etenduste arvu žanrite kaupa:
■ Sõnalavastuste žanrid: Draama, Komöödia, Tragikomöödia, Luule
■ Muusikalavastuste žanrid: Ooper, Operett, Muusikal, Kaasaegne,
Kontsert
■ Tantsulavastuste žanrid: Klassikaline, Kaasaegne, Tänava,
Kaasaegne seeria
■ Mitmeliigiliste žanrid: Sõna-muusika-liikumine, Muusika-tants, Muu
● testPerformancesByCounty
○ Kontrollib etenduste jaotust Eesti maakondade lõikes:
■ Tallinn ja Harjumaa
■ Tartu ja Tartumaa
■ Pärnu ja Pärnumaa
■ Viljandi ja Viljandimaa
■ Teised maakonnad (Hiiumaa, Ida-Virumaa, Jõgevamaa, Järvamaa
jne)
■ Linnad (Kuressaare, Rakvere)
● testPerformancesByTargetAudience
○ Kontrollib etenduste arvu sihtgruppide järgi:
■ Väikelapsed
■ Lapsed
■ Teismelised
■ Noored
■ Täiskasvanud
○ Kontrollib samu kategooriaid ka "uute" etenduste jaoks
○
4.8.6. SoldTicketsTest
Antud testkomplekt kontrollib SoldTickets klassi võimet käsitleda erinevaid etendusetüüpe
korrektselt, töödelda tulude jaotuse arvutusi õigesti ja tagastada täpsed piletite arvud kõikide
etenduste kategooriate jaoks
4.8.6.1. Testide ülevaade
● testBasicTicketCounts()
○ Testib põhiliste etendusetüüpide piletite lugemist:
■ Draamaetendused (Tüüp 1) tulude jaotusega - kontrollib, et
tagastatakse jaotatud piletite arv
■ Muusikaetendused (Tüüp 2) - kontrollib, et tagastatakse täielik piletite
arv
■ Tantsuetendused (Tüüp 3) - kontrollib, et tagastatakse täielik piletite
arv
● testSpecializedTicketCounts()
○ Testib spetsialiseeritud etendusetüüpide piletite lugemist:
■ Mitmeliigilised etendused (Tüüp 4) - kontrollib, et tagastatakse täielik
piletite arv
■ Nukuetendused (Tüüp 5) - kontrollib, et tagastatakse täielik piletite arv
■ Tsirkuseetendused (Tüüp 6) - kontrollib, et tagastatakse täielik piletite
arv
● testRevenueDivideTickets()
○ Testib spetsiifiliselt tulude jaotuse funktsionaalsust:
■ Loob ühe draamaetenduse tulude jaotusega
■ Kontrollib, et drama_sold_tickets() meetod tagastab jaotatud koguse,
mitte täiskoguse
4.8.7. VisitorsTest
Antud testkomplekt kontrollib Visitors klassi võimet käsitleda põhilisi loendamise
funktsionaalsusi, erinevaid etendusetüüpe (draama, muusika, tants jne), erinevaid
sihtgruppe (väikelastest täiskasvanuteni) ja geograafilist jaotust (erinevad Eesti maakonnad
ja linnad).
4.8.7.1. Testide ülevaade
● testBasicVisitorCounts
○ Testib põhilisi külastajate arvu funktsionaalsusi
○ Kontrollib külastajate koguarvu
○ Kontrollib statsionaarsete ja väljasõiduetenduste külastajate arvu
○ Valideerib etenduste koguarvu ja veebikülastajate arvu
● testVisitorsByType
○ Testib külastajate arvu erinevate etendusetüüpide lõikes
○ Kontrollib statsionaarsete ja väljasõiduetenduste külastajate arvu järgmiste
žanrite puhul:
■ Draamaetendused
■ Muusikaetendused
■ Tantsuetendused
■ Nukuetendused
■ Tsirkuseetendused
■ Mitmeliigilised etendused
● testVisitorsByTargetAudience
○ Testib külastajate arvu sihtgruppide lõikes
○ Kontrollib nii tavaliste kui "uute" külastajate arvu järgmistele gruppidele:
■ Väikelapsed
■ Lapsed
■ Teismelised
■ Noored
■ Täiskasvanud
● testVisitorsByCounty
○ Testib külastajate geograafilist jaotust
○ Kontrollib külastajate arvu erinevate Eesti maakondade ja linnade lõikes:
■ Tallinn ja Harjumaa
■ Tartu ja Tartumaa
■ Pärnu ja Pärnumaa
■ Viljandi ja Viljandimaa
■ Teised maakonnad (Hiiumaa, Ida-Virumaa jne)
■ Konkreetsed linnad (Kuressaare, Rakvere)