public function testaa_ratkaisun_luominen() { $this->lisaa_lihava_kommentti("Luodaan testiratkaisu (testiomistajalle):"); $ratkaisukontrolleri = new Ratkaisukontrolleri($this->tietokantaolio, $this->parametriolio); $ratkaisunakymat = new Ratkaisunakymat(); $ratk = $this->luo_testiratkaisu(); if ($ratk instanceof Ratkaisu) { $this->lisaa_kommentti("Testiratkaisun luominen onnistui"); // Näytetään ratkaisu eri valtuuksilla: $this->lisaa_kommentti("Testiratkaisun tulostus tehtävän lisäys " . "-valtuuksilla:"); $id_kokon = -1; $id_teht = -1; // Muutetaan valtuudet: $this->testiapuhenkilo->set_arvo(Valtuudet::$TEHTAVA_LISAYS, Henkilo::$sarakenimi_valtuudet); $this->testiapuhenkilo->tallenna_muutokset(); $this->lisaa_kommentti("Apuhenkilön valtuudet (pitäs olla 5)= " . $this->testiapuhenkilo->get_arvo(Henkilo::$sarakenimi_valtuudet)); /*$this->lisaa_kommentti("Muutetaan ratkaisun omistajaksi testiapuhenkilö"); $ratk->setHenkilo_id($this->testiapuhenkilo->get_id()); $ratk->tallenna_muutokset();*/ // Tämä vaaditaan, jotta valtuudet menevät läpi: $omaid = $this->testiapuhenkilo->get_id(); $id_ratk = $ratk->getId(); $this->parametriolio->set_omaid($this->testiapuhenkilo->get_id()); $painikkeet = $ratkaisukontrolleri->luo_ratkaisupainikkeet($id_ratk); $this->lisaa_kommentti($ratkaisukontrolleri->tulosta_kaikki_ilmoitukset()); $ratkaisukontrolleri->tyhjenna_kaikki_ilmoitukset(); $this->lisaa_kommentti($ratkaisunakymat->tulosta_ratkaisu($id_kokon, $ratk, $omaid, $painikkeet)); $this->testiapuhenkilo->tyhjenna_virheilmoitukset(); $this->lisaa_kommentti("Testiratkaisun tulostus hallinta-valtuuksilla:"); $id_kokon = -1; $id_teht = -1; // Muutetaan testiapuhenkilön valtuudet: if ($this->testiapuhenkilo->set_arvo(Valtuudet::$HALLINTA, Henkilo::$sarakenimi_valtuudet) == Pohja::$OPERAATIO_ONNISTUI) { if ($this->testiapuhenkilo->tallenna_muutokset() === Henkilo::$OPERAATIO_ONNISTUI) { // Tässä === aiheutti virheen. if ($this->testiapuhenkilo->get_arvo(Henkilo::$sarakenimi_valtuudet) == Valtuudet::$HALLINTA) { $omaid = $this->testiapuhenkilo->get_id(); $id_ratk = $ratk->getId(); $painikkeet = $ratkaisukontrolleri->luo_ratkaisupainikkeet($id_ratk); $this->lisaa_kommentti($ratkaisukontrolleri->tulosta_kaikki_ilmoitukset()); $this->lisaa_kommentti($ratkaisunakymat->tulosta_ratkaisu($id_kokon, $ratk, $omaid, $painikkeet)); } else { $this->lisaa_virheilmoitus("Virhe: apuhenkilön " . " valtuusmuutostallennus ok, mutta arvo ei! <br/>" . "Valtuuden arvo = " . $this->testiapuhenkilo->get_arvo(Henkilo::$sarakenimi_valtuudet)); } } else { $this->lisaa_virheilmoitus("Virhe apuhenkilön " . " valtuusmuutoksen tallennuksessa! <br/>" . $this->testiapuhenkilo->tulosta_virheilmoitukset()); } } else { $this->lisaa_virheilmoitus("Virhe apuhenkilön " . " valtuusmuutoksen asetuksessa! <br/>" . $this->testiapuhenkilo->tulosta_virheilmoitukset()); } // Muutetaan valtuudet takaisin tehtävien lisäykseen: $this->testiapuhenkilo->set_arvo(Valtuudet::$TEHTAVA_LISAYS, Henkilo::$sarakenimi_valtuudet); $this->testiapuhenkilo->tallenna_muutokset(); $this->testiratkaisu = $ratk; } else { $this->lisaa_virheilmoitus("Virhe testiratkaisun luomisessa"); } }
public function testaa_henkilon_luominen_ja_tallentaminen() { $this->lisaa_lihava_kommentti("Luodaan testihenkilö:"); // Luodaan testihenkilö ja asetetaan arvot paikalleen: $this->testihenkilo = $this->luo_testihenkilo("Matti", "Tuupo", "kayttis", "salis"); if ($this->testihenkilo instanceof Henkilo) { $this->lisaa_kommentti("Henkilön luonti onnistui."); } else { $this->lisaa_virheilmoitus("Virhe henkilön luomisessa!"); } // Katsotaan vielä, onko arvojen asetuksessa ollut ongelmia: if ($this->testihenkilo->virheilmoitusten_lkm() == 0) { $this->lisaa_kommentti("Henkilön arvojen asetus onnistui."); // Tallennus tietokantaan: $this->lisaa_lihava_kommentti("Yritetöön tallentaa testihenkilöt:"); if ($this->testihenkilo->tallenna_uusi() === Malliluokkapohja::$OPERAATIO_ONNISTUI) { $this->lisaa_kommentti("Testihenkilön tallennus tietokantaan onnistui!"); } else { $this->lisaa_virheilmoitus("Virhe testihenkilön tallennuksessa!!" . "<br/> Ilmoitukset: " . $this->testihenkilo->tulosta_virheilmoitukset()); } } else { $this->lisaa_virheilmoitus("Virhe arvojen asetuksessa: <br/>" . $this->testihenkilo->tulosta_virheilmoitukset()); } // Omistajahenkilön luominen samalla käyttäjätunnuksella: $this->lisaa_kommentti("Yritetöön luoda 2. henkilö samalla\n köyttöjötunnuksella:"); $this->testiomistaja = $this->luo_testihenkilo("Pomo", "Ilkeinen", "kayttis", "salis"); if ($this->testiomistaja->tallenna_uusi() === Malliluokkapohja::$OPERAATIO_ONNISTUI) { $this->lisaa_virheilmoitus("Virhe: tallennus onnistui, vaikka" . " köyttöjötunnus jo köytössö!! \n Tarkista unique-ominaisuus!"); } else { $this->lisaa_kommentti("Oikein: samalla köyttöjötunnuksella ei " . "voi tallentaa toista henkilöö. " . "<br/> Ilmoitukset: " . $this->testiomistaja->tulosta_virheilmoitukset()); } // Apuhenkilön luominen: $this->lisaa_kommentti("Luodaan sitten apuhenkilö vielä"); $this->testiapuhenkilo = $this->luo_testihenkilo("Kalle", "Kakola", "kayttis3", "salis"); if ($this->testiapuhenkilo->tallenna_uusi() === Malliluokkapohja::$OPERAATIO_ONNISTUI) { $this->lisaa_kommentti("Testiapuhenkilön tallennus tietokantaan onnistui!"); } else { $this->lisaa_virheilmoitus("Virhe testiapuhenkilön tallennuksessa!!" . "<br/> Ilmoitukset: " . $this->testiapuhenkilo->tulosta_virheilmoitukset()); } }