Az adatbázis létrehozása - KTRNinjas/Car-Rental GitHub Wiki

A Filldb.php

  • A Filldb.php a FilldbData.php view-jának tekinthető, felelőssége, hogy behívva megfuttassa a FilldbData initDB($kapcsolat) metódusát

A FilldbData.php

  • A FilldbData.php felelős azért, hogy minden projektrésztvevőnél és az ügyfélnél ugyanazt az adatbázist hozza létre
  • Az itt található metódusok gyűjtik össze a különböző funkciókhoz kapcsolódó CRUD műveleteket

Metódusok

Az InitDb(kapcsolat)

metódus a FilldbData belépési pontja

  1. Dropolja az autokolcsonzo adatbázist
  2. Újra létrehozza az autokolcsonzo adatbázist
  3. Megfuttatja a TablaFelvetele($kapcsolat), Adatfelvetel($kapcsolat),Tablamegvaltoztatas($kapcsolat) metódusokat

A TablaFelvetele(kapcsolat)

futtatja meg a funkciókhoz beinclude-olt táblakészítő metódusokat

Az Adatfelvetel(kapcsolat)

futtatja meg a funkciókhoz beinclude-olt insert metódusokat

Tablamegvaltoztatas(kapcsolat)

futtatja meg a funkciókhoz beinclude-olt ALTER TABLE metódusokat

A Query(kapcsolat,üzenet,sql)

metódust használjuk a query műveletek végreahjtására. a sql bemenőparaméterrel a mysqli_query megcsinálja a műveletet, ha true-bal tér vissza, akkor a Query metódus hozzákonkatenálja a üzenet szövegéhez a sikeres volt! stringet, és megváltoztatja a betű színét zöldre ha false-al a sikertelen volt! stringet és megváltoztatja a betű színét pirosra kép



Elfogadási tesztek

  • test_if_sikeres_volt_message_displayed(AcceptanceTester $I): Ellenőrzi, hogy a Filldb.php sikeres üzenetet printel e a CARS és ROLE táblával kapcsolatos műveletekre

A Role táblával kapcsolatos műveletek

A role_data.php file felelős a ROLE táblával kapcsolatos CRUD műveletekért

Metódusok

A createRoleTable(kapcsolat)

hozza létre a Role táblát id-vel és role_name-mel

Az insertRoles(kapcsolat)

beilleszti a vásárló, főnök, admin, sales, és autófelvevő role-okat a role table-be

alterRoleTable(kapcsolat)

teszi az update-et és a delete-et restricteddé, ha van még olyan contact record, ami a törlendő, vagy updatelendő role-hoz tartozik

Adatbázis integrációs tesztek

  • test_if_Role_Data_Table_Created(): Ellenőrzi, hogy a createRoleTable($kapcsolat) "A Role tábla létrehozása Sikeres volt!" üzenettel tér vissza
  • test_if_Roles_Inserted(): Ellenőrzi, hogy az insertRoles($kapcsolat) metódus a ... role létrehozása sikeres volt! üzenetekkel tér e vissza
  • test_if_Role_Table_Altered():Ellenőri, hogy az alterRoleTable($kapcsolat) metódus "A Role tábla megváltoztatása Sikeres volt!" üzenettel tér e vissza
  • test_if_Role_Cant_Be_Deleted_if_user_belongs_to_it():
  1. létrehoz az adatbázisban egy testusert és egy a userhez tartozó testrole-t.
  2. Ellenőrzi, hogyha megróbáljuk törölni a role-t a user törlése nélkül, akkor a role törlése sikertelen
  3. Törli a testusert
  4. Ellenőrzi, hogyha megróbáljuk törölni a role-t a user törlése nélkül, akkor a role törlése sikeres

A Cars táblával kapcsolatos műveletek

A car_data.php file felelős a cars táblával kapcsolatos CRUD műveletekért

Metódusok

A create_cars(kapcsolat)

hozza létre a cars táblát id-vel, Rendszámmal, Alvázszámmal, hajtáslánc_id-vel, váltótípus_id-vel, Evjarat-tal, Teljesítmeny-nyel, Biztositasi_dij-jal, Forgalmi_megujitasanak_ideje-vel, és Kivezetve mezővel

A create_valtotipus(kapcsolat)

hozza létre a Valtotipus táblát id-vel és Valtotipus mezővel

A create_hajtaslanc(kapcsolat)

hozza létre a Hajtáslánc táblát id-vel és Hajtaslanc mezővel

A fill_valtotipus(kapcsolat)

tölti fel a Váltótípus táblát Kézi és Automata váltótípussal

A fill_hajtaslanc(kapcsolat)

tölti fel a Váltótípus táblát Benzines, Diesel és Elektromos hajtáslánccal

A fill_testcars(kapcsolat)

metódus tölt be tesztautókat az adatbázisba

A fill_testAutoTipus(kapcsolat)

metódus tölt be tesztautótípusokat az adatbázisba

A CarsTablamegvaltoztatasa(kapcsolat)

teszi az update-et és a delete-et cascadeddé, ha törlódik/updatel egy autótípus record, törlődik/update-el a hozzá tartozó egyedi autó is

Adatbázis integrációs tesztek

  • test_if_cars_table_created(): Ellenőrzi, hogy a create_cars($kapcsolat) "Az egyedi autó tábla létrehozásaSikeres volt!" üzenettel tér vissza
  • test_if_valtotipus_table_created(): Ellenőrzi, hogy a create_valtotipus($kapcsolat) "A váltótípus tábla létrehozásaSikeres volt!" üzenettel tér vissza
  • test_if_hajtaslanc_table_created(): Ellenőrzi, hogy a create_hajtaslanc($kapcsolat); "A hajtáslánc tábla létrehozásaSikeres volt!" üzenettel tér vissza
  • test_if_valtotipus_table_filled_with_elements(): Törli a Váltótípus tábla összes elemét, majd ellenőrzi, hogy a fill_valtotipus($kapcsolat) metódus betölti e a Kézi és automata váltót az adatbázisba. Először megfuttatja a fill_valtotipus($kapcsolat) metódust, majd csinál egy SQL query-t az összes váltótípusra a db-ben, és ellenőrzi, hogy a kézi és automata váltó szerepel e köztük
  • test_if_hajtaslanc_table_filled_with_elements(): Törli a Hajtaslanc tábla összes elemét, majd ellenőrzi, hogy a fill_hajtaslanc($kapcsolat) metódus betölti e a Benzines, Diesel és Elektromos hajtásláncot az adatbázisba. Először megfuttatja a fill_hajtaslanc($kapcsolat) metódust, majd csinál egy SQL query-t az összes hajtásláncra a db-ben, és ellenőrzi, hogy a Benzines,Diesel és Elektromos hajtáslánc szerepel e köztük
  • test_if_cars_table_filled_with_elements(): Törli a cars tábla összes elemét, majd ellenőrzi, hogy a fill_testcars($kapcsolat) metódus betölti e a tesztautókat az adatbázisba. Először megfuttatja a fill_testcars($kapcsolat) metódust, majd csinál egy SQL query-t az összes autóra a db-ben, és ellenőrzi, hogy a tesztautók szerepelnek e köztük
  • test_if_Autotipus_table_filled_with_elements(): Törli az Autótípus tábla összes elemét, majd ellenőrzi, hogy a fill_testAutoTipus($kapcsolat) metódus betölti e a tesztautótípusokat az adatbázisba. Először megfuttatja a fill_testAutoTipus($kapcsolat) metódust, majd csinál egy SQL query-t az összes autóra a db-ben, és ellenőrzi, hogy a tesztautótípusok szerepelnek e köztük
  • test_if_Cars_table_altered():Ellenőri, hogy a CarsTablamegvaltoztatasa($kapcsolat) metódus "A cars tábla kaszkádolása Sikeres volt!" üzenettel tér e vissza
  • test_if_Cars_table_cascaded_for_autotipus():
  1. létrehoz az adatbázisban egy testautót és egy az autóhoz tartozó testautótípust.
  2. Ellenőrzi, hogyha töröljük a teszt autótpust, akkor a tesztautóra indított query üres tömbbel tér vissza

A Car-Image táblával kapcsolatos műveletek

A car_image_data.php file felelős a cars táblával kapcsolatos CRUD műveletekért

Metódusok

A createCarImageTable($kapcsolat)

hozza létre a car_image táblát id-vel, car_id-vel, és path mezővel

Az alterCarImageTable($kapcsolat)

kaszkád kapcsolatot hoz létre az autók és a hozzájuk tartozó képek között, azaz ha törlődik egy autó, törlődnek a hozzá tartozó képek is



Adatbázis integrációs tesztek

  • test_if_car_image_table_created(): Ellenőrzi, hogy a createCarImageTable($kapcsolat) "A car-images tábla létrehozása Sikeres volt!" üzenettel tér vissza

  • test_if_car_image_table_altered(): Ellenőrzi, hogy az alterCarImageTable($kapcsolat) "A car-images tábla kaszkádolása Sikeres volt!" üzenettel tér vissza

  • test_if_images_deleted_after_car_deleted():

  1. létrehoz az adatbázisban egy testautót
  2. létrehoz az adatbáziban három, a testautóhoz tartozó test1-2-3 path-ú képrecordot
  3. kitörli a tesztatót
  4. lekérdezi a test1-2-3 path-ú képrecord id-jeit, és akkor megy át, ha a lekérdezés üres tömbbel tér vissza
⚠️ **GitHub.com Fallback** ⚠️