Sfoglia il codice sorgente

notenart angeben ist pflicht, bk-abschluss-fächer assoc mit fach

hmt 9 anni fa
parent
commit
c5de06478d
2 ha cambiato i file con 7 aggiunte e 6 eliminazioni
  1. 3 1
      lib/schild.rb
  2. 4 5
      specs/schueler_spec.rb

+ 3 - 1
lib/schild.rb

@@ -130,6 +130,7 @@ module Schild
   class Faecher < Sequel::Model(:eigeneschule_faecher)
     one_to_one :noten
     one_to_one :sprachenfolge, :class => :Sprachenfolge, :key => :Fach_ID
+    one_to_one :BKAbschlussFaecher
   end
 
   # Assoziation für BK-Abschluss des Schülers
@@ -140,6 +141,7 @@ module Schild
   # Assoziation für die Prüfungsfächer des Schülers
   class BKAbschlussFaecher < Sequel::Model(:schuelerbkfaecher)
     many_to_one :schueler
+    one_to_one :fach, :class => :Faecher, :primary_key => :Fach_ID, :key => :ID
   end
 
   # Assoziation für die bisher erreichten Sprachniveaus
@@ -355,7 +357,7 @@ module SchildErweitert
       self.MdlPruefung == "+"
     end
 
-    def note(notenart=:note_abschluss_ba)
+    def note(notenart)
       note_s send(notenart)
     end
   end

+ 4 - 5
specs/schueler_spec.rb

@@ -95,11 +95,6 @@ describe Schueler do
       Schueler[381].bk_abschluss_leistungen.find{|l|l.fach_krz == "PB"}.note('note_abschluss_ba').must_equal 'mangelhaft'
     end
 
-    it 'gibt Abschlussnote-BA zurück, wenn Abschlussnoten ohne Argumente angegeben wird' do
-      Schueler[5346].bk_abschluss_leistungen.find{|l|l.fach_krz == "E"}.note(:vornote).must_equal 'ausreichend'
-      Schueler[5346].bk_abschluss_leistungen.find{|l|l.fach_krz == "E"}.note.must_equal 'mangelhaft'
-    end
-
     it 'gibt die Sprachfolge als Niveau zurück' do
       skip
       # in der Test-Datenbank sind keine Sprachenfolgen eingetragen, daher ist das RN ""
@@ -115,6 +110,10 @@ describe Schueler do
       # Leider keine Vermerke in der Testdatenbank eingetragen
       @sm.vermerke.first.must_be_instance_of String
     end
+
+    it 'gibt bk_abschluss_leistung mit Fachbezeichnung zurück' do
+      Schueler[373].bk_abschluss_leistungen.find{|l|l.fach_krz == "M"}.fach.bezeichnung.must_equal "Mathematik"
+    end
   end
 
   describe 'gibt die korrekte Anzahl von Schülern über Klasse zurück' do