瀏覽代碼

Vermerker und Sprachfolgen hinzugefügt

hmt 9 年之前
父節點
當前提交
1283836f20
共有 2 個文件被更改,包括 36 次插入0 次删除
  1. 20 0
      lib/schild.rb
  2. 16 0
      specs/schueler_spec.rb

+ 20 - 0
lib/schild.rb

@@ -100,6 +100,7 @@ module Schild
     one_to_many :abschnitte, :class => :Abschnitt
     one_to_one :bk_abschluss, :class => :BKAbschluss
     one_to_many :bk_abschluss_leistungen, :class => :BKAbschlussFaecher
+    one_to_many :vermerke, :class => :Vermerke
   end
 
   # Dient als Assoziation für Schüler und deren Klassenbezeichnung etc.
@@ -128,6 +129,7 @@ module Schild
   # Assoziation für Fächer
   class Faecher < Sequel::Model(:eigeneschule_faecher)
     one_to_one :noten
+    one_to_one :sprachenfolge, :class => :Sprachenfolge, :key => :Fach_ID
   end
 
   # Assoziation für BK-Abschluss des Schülers
@@ -140,6 +142,16 @@ module Schild
     many_to_one :schueler
   end
 
+  # Assoziation für die bisher erreichten Sprachniveaus
+  class Sprachenfolge < Sequel::Model(:schuelersprachenfolge)
+    one_to_one :Faecher
+  end
+
+  # Vermerke von Schülern
+  class Vermerke < Sequel::Model(:schuelervermerke)
+    many_to_one :Schueler
+  end
+
   # Schul-Tabelle
   class Schule < Sequel::Model(:eigeneschule)
   end
@@ -348,6 +360,14 @@ module SchildErweitert
     end
   end
 
+  class Sprachenfolge < Schild::Sprachenfolge
+    include SchildTypeSaver
+  end
+
+  class Vermerke < Schild::Vermerke
+    include SchildTypeSaver
+  end
+
   # Schul-Tabelle mit vereinfachtem Zugriff auf Datenfelder.
   class Schule < Schild::Schule
     include SchildTypeSaver

+ 16 - 0
specs/schueler_spec.rb

@@ -99,6 +99,22 @@ describe Schueler 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 ""
+      Schueler[2072].halbjahr(2013,2).noten.find{|l|l.fach_id == 18}.fach.sprachenfolge.referenzniveau.must_equal ''
+    end
+
+    it 'gibt Vermerke für Schüler als Array zurück' do
+      @sm.vermerke.must_be_instance_of Array
+    end
+
+    it 'gibt Vermerk als String zurück' do
+      skip
+      # Leider keine Vermerke in der Testdatenbank eingetragen
+      @sm.vermerke.first.must_be_instance_of String
+    end
   end
 
   describe 'gibt die korrekte Anzahl von Schülern über Klasse zurück' do