123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250 |
- const Schild = require("../dist/schild.cjs")
- // import { Schild } from '../dist/schild.esm'
- import {Schueler, Abschnitt, Fachklasse, Versetzung, Lehrer, Note, Fach, BKAbschluss, BKAbschlussFach, AbiAbschluss, AbiAbschlussFach,
- FHRAbschluss, FHRAbschlussFach, Sprachenfolge, FachGliederung, Vermerk, Schuelerfoto, Schule, Nutzer, Jahrgang} from '../dist/schild.esm'
- const connectionString = {
- client: 'mysql',
- useNullAsDefault: true,
- connection: {
- host: 'localhost',
- database: 'schild_berufskolleg',
- user: 'schild',
- password: 'schild',
- charset: 'utf8'
- }
- }
- const schild = new Schild
- schild.connect(connectionString, 'testing')
- afterAll(() => {
- schild.disconnect()
- })
- describe('Schüler Model', () => {
- test('Schueler wird gefunden', async () => {
- expect.assertions(1)
- await expect(Schueler.query().where('ID', 1).first()).resolves.toBeInstanceOf(Schueler)
- })
- test('akt_halbjahr geht nicht', async () => {
- expect.assertions(1)
- const s = await Schueler.query().where('ID', 1).first()
- expect(s.akt_halbjahr).toBeUndefined()
- })
- test('Anrede geht', async () => {
- expect.assertions(1)
- const s = await Schueler.query().where('ID', 1).first()
- expect(s.anrede).toEqual('Frau')
- })
- test('Schüler_in geht', async () => {
- expect.assertions(1)
- const s = await Schueler.query().where('ID', 1).first()
- expect(s.schueler_in).toEqual('Schülerin')
- })
- test('Studierende_r geht', async () => {
- expect.assertions(1)
- const s = await Schueler.query().where('ID', 1).first()
- expect(s.studierende_r).toEqual('Studierende')
- })
- test('berufsbezeichnung_mw geht', async () => {
- expect.assertions(1)
- const s = await Schueler.query().where('ID', 1).withGraphFetched('fachklasse').first()
- expect(s.berufsbezeichnung_mw).toEqual('Staatlich anerkannte Erzieherin - praxisintegrierte Form')
- })
- test('berufsbezeichnung_mw geht nicht', async () => {
- expect.assertions(1)
- const s = await Schueler.query().where('ID', 1).first()
- expect(s.berufsbezeichnung_mw).toEqual('Keine Fachklasse zugeordnet')
- })
- test('volljährig geht', async () => {
- expect.assertions(1)
- const s = await Schueler.query().where('ID', 1).first()
- expect(s.volljaehrig).toEqual(true)
- })
- test('volljährig_bei geht', async () => {
- expect.assertions(2)
- const s = await Schueler.query().where('ID', 1).first()
- expect(s.volljaehrig_bei('August 19, 2015 23:15:30')).toEqual(true)
- expect(s.volljaehrig_bei('August 19, 1996 23:15:30')).toEqual(true)
- })
- test('Schüler-Relations werden gefunden', async () => {
- expect.assertions(4)
- const s = await Schueler.query().where('ID', 995).withGraphFetched('[abschnitte, fachklasse, bk_abschluss, bk_abschluss_faecher]').first()
- expect(s.abschnitte[0]).toBeInstanceOf(Abschnitt)
- expect(s.fachklasse).toBeInstanceOf(Fachklasse)
- expect(s.bk_abschluss).toBeInstanceOf(BKAbschluss)
- expect(s.bk_abschluss_faecher[0]).toBeInstanceOf(BKAbschlussFach)
- })
- test('Abi-Relations werden gefunden', async () => {
- expect.assertions(2)
- const s = await Schueler.query().where('ID', 279).withGraphFetched('[abi_abschluss, abi_abschluss_faecher]').first()
- expect(s.abi_abschluss).toBeInstanceOf(AbiAbschluss)
- expect(s.abi_abschluss_faecher[0]).toBeInstanceOf(AbiAbschlussFach)
- })
- test('FHR-Relations werden gefunden', async () => {
- expect.assertions(2)
- const s = await Schueler.query().where('ID', 120).withGraphFetched('[fhr_abschluss, fhr_abschluss_faecher]').first()
- expect(s.fhr_abschluss).toBeInstanceOf(FHRAbschluss)
- expect(s.fhr_abschluss_faecher[0]).toBeInstanceOf(FHRAbschlussFach)
- })
- test('Sprachenfolge-Relations werden gefunden', async () => {
- expect.assertions(1)
- const s = await Schueler.query().where('ID', 8).withGraphFetched('sprachenfolgen').first()
- expect(s.sprachenfolgen[0]).toBeInstanceOf(Sprachenfolge)
- })
- test('Schuelerfoto-Relations werden gefunden', async () => {
- expect.assertions(1)
- const s = await Schueler.query().where('ID', 34).withGraphFetched('schuelerfoto').first()
- expect(s.schuelerfoto).toBeInstanceOf(Schuelerfoto)
- })
- test('Vermerk-Relations werden gefunden', async () => {
- expect.assertions(1)
- const s = await Schueler.query().where('ID', 341).withGraphFetched('vermerke').first()
- expect(s.vermerke[0]).toBeInstanceOf(Vermerk)
- })
- test('Versetzung-Relations werden gefunden', async () => {
- expect.assertions(1)
- const s = await Schueler.query().where('ID', 341).withGraphFetched('versetzung').first()
- expect(s.versetzung).toBeInstanceOf(Versetzung)
- })
- })
- describe('Abschnitt-Model', () => {
- test('Abschnitt-Relations werden gefunden', async () => {
- expect.assertions(3)
- const s = await Schueler.query().where('ID', 995).withGraphFetched('abschnitte.[lehrer, fachklasse, noten]').first()
- expect(s.abschnitte[0].lehrer).toBeInstanceOf(Lehrer)
- expect(s.abschnitte[0].fachklasse).toBeInstanceOf(Fachklasse)
- expect(s.abschnitte[0].noten[0]).toBeInstanceOf(Note)
- })
- test('V. Name des Klassenlehrers', async () => {
- expect.assertions(1)
- const s = await Schueler.query().where('ID', 1995).withGraphFetched('abschnitte.[lehrer]').first()
- expect(s.abschnitte[0].v_name_klassenlehrer).toContain('B. De')
- })
- test('Klassenlehrer oder Klassenlehrerin', async () => {
- expect.assertions(2)
- const s = await Schueler.query().where('ID', 2405).withGraphFetched('abschnitte.[lehrer]').first()
- expect(s.abschnitte[0].klassenlehrer_in).toEqual('Klassenlehrerin')
- const ss = await Schueler.query().where('ID', 1598).withGraphFetched('abschnitte.[lehrer]').first()
- expect(ss.abschnitte[0].klassenlehrer_in).toEqual('Klassenlehrer')
- })
- test('Schuljahr im Format 2015/16 ausgeben', async () => {
- expect.assertions(1)
- const s = await Schueler.query().where('ID', 995).withGraphFetched('abschnitte').first()
- expect(s.abschnitte[0].schuljahr).toEqual('2014/15')
- })
- })
- describe('Note-Model', () => {
- test('Note-Relations werden gefunden', async () => {
- expect.assertions(1)
- const s = await Schueler.query().where('ID', 995).withGraphFetched('abschnitte.noten.fach').first()
- expect(s.abschnitte[0].noten[0].fach).toBeInstanceOf(Fach)
- })
- })
- describe('Fachklasse-Model', () => {
- test('Fachgruppen-Relations werden gefunden', async () => {
- expect.assertions(1)
- const s = await Schueler.query().where('ID', 908).withGraphFetched('fachklasse.fach_gliederungen').first()
- expect(s.fachklasse.fach_gliederungen[0]).toBeInstanceOf(FachGliederung)
- })
- })
- describe('Fach-Model', () => {
- test('Fach-Relations werden gefunden', async () => {
- expect.assertions(1)
- const s = await Schueler.query().where('ID', 908).withGraphFetched('abschnitte.noten.fach.fach_gliederungen').first()
- expect(s.abschnitte[0].noten[0].fach.fach_gliederungen[0]).toBeInstanceOf(FachGliederung)
- })
- })
- describe('BKAbschlussFach-Model', () => {
- test('BKAbschlussFach-Relations werden gefunden', async () => {
- expect.assertions(1)
- const s = await Schueler.query().where('ID', 995).withGraphFetched('bk_abschluss_faecher.fach').first()
- expect(s.bk_abschluss_faecher[0].fach).toBeInstanceOf(Fach)
- })
- })
- describe('AbiAbschlussFach-Model', () => {
- test('AbiAbschlussFach-Relations werden gefunden', async () => {
- expect.assertions(1)
- const s = await Schueler.query().where('ID', 279).withGraphFetched('abi_abschluss_faecher.fach').first()
- expect(s.abi_abschluss_faecher[0].fach).toBeInstanceOf(Fach)
- })
- })
- describe('FHRAbschlussFach-Model', () => {
- test('FHRAbschlussFach-Relations werden gefunden', async () => {
- expect.assertions(1)
- const s = await Schueler.query().where('ID', 120).withGraphFetched('fhr_abschluss_faecher.fach').first()
- expect(s.fhr_abschluss_faecher[0].fach).toBeInstanceOf(Fach)
- })
- })
- describe('Sprachenfolge-Model', () => {
- test('Sprachenfolge-Relations werden gefunden', async () => {
- expect.assertions(1)
- const s = await Schueler.query().where('ID', 8).withGraphFetched('sprachenfolgen.fach').first()
- expect(s.sprachenfolgen[0].fach).toBeInstanceOf(Fach)
- })
- })
- describe('Versetzung-Model', () => {
- test('Versetzung-Relations werden gefunden', async () => {
- expect.assertions(4)
- const k = await Versetzung.query().where('Klasse', 'B15B2').withGraphFetched('[schueler, fachklasse]').first()
- expect(k.schueler[0]).toBeInstanceOf(Schueler)
- expect(k.schueler).toHaveLength(18)
- expect(k.fachklasse).toBeInstanceOf(Fachklasse)
- expect(k.fachklasse.Bezeichnung).toEqual('Sozialassistent')
- })
- })
- describe('Schule Model', () => {
- test('Schulleiter_In geht', async () => {
- expect.assertions(1)
- const s = await Schule.query().where('ID', 1).first()
- expect(s.schulleiter_in).toEqual('Schulleiterin')
- })
- })
- describe('alle Models durchtesten', () => {
- test('einmal checken', async () => {
- expect.assertions(20)
- expect(await Schueler.query().where('ID', 1).first()).toBeInstanceOf(Schueler)
- expect(await Abschnitt.query().where('ID', 17).first()).toBeInstanceOf(Abschnitt)
- expect(await Fachklasse.query().where('ID', 1).first()).toBeInstanceOf(Fachklasse)
- expect(await Jahrgang.query().where('ID', 5).first()).toBeInstanceOf(Jahrgang)
- expect(await Versetzung.query().where('ID', 5).first()).toBeInstanceOf(Versetzung)
- expect(await Lehrer.query().where('ID', 1).first()).toBeInstanceOf(Lehrer)
- expect(await Note.query().where('ID', 137).first()).toBeInstanceOf(Note)
- expect(await Fach.query().where('ID', 1).first()).toBeInstanceOf(Fach)
- expect(await BKAbschluss.query().where('Schueler_ID', 1).first()).toBeInstanceOf(BKAbschluss)
- expect(await BKAbschlussFach.query().where('ID', 40).first()).toBeInstanceOf(BKAbschlussFach)
- expect(await AbiAbschluss.query().where('ID', 1).first()).toBeInstanceOf(AbiAbschluss)
- expect(await AbiAbschlussFach.query().where('ID', 3204).first()).toBeInstanceOf(AbiAbschlussFach)
- expect(await FHRAbschluss.query().where('ID', 1).first()).toBeInstanceOf(FHRAbschluss)
- expect(await FHRAbschlussFach.query().where('ID', 3).first()).toBeInstanceOf(FHRAbschlussFach)
- expect(await Sprachenfolge.query().where('ID', 1).first()).toBeInstanceOf(Sprachenfolge)
- expect(await FachGliederung.query().where('Fach_ID', 216).first()).toBeInstanceOf(FachGliederung)
- expect(await Vermerk.query().where('ID', 1).first()).toBeInstanceOf(Vermerk)
- expect(await Schuelerfoto.query().where('Schueler_ID', 34).first()).toBeInstanceOf(Schuelerfoto)
- expect(await Schule.query().where('ID', 1).first()).toBeInstanceOf(Schule)
- expect(await Nutzer.query().where('ID', 1).first()).toBeInstanceOf(Nutzer)
- })
- })
- describe('JSON enthält alle virtuellen Properties', () => {
- test('alles durchchecken', async () => {
- expect.assertions(3)
- const s = await Schueler.query().where('ID', 995).withGraphFetched('[abschnitte, fachklasse, bk_abschluss, bk_abschluss_faecher]').first()
- expect(s.toJSON().schueler_in).toEqual('Schülerin')
- expect(s.toJSON().anrede).toEqual('Frau')
- expect(s.toJSON().studierende_r).toEqual('Studierende')
- })
- })
|