type_safe_spec.rb 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. require "#{File.dirname(__FILE__)}/spec_helper"
  2. describe Schueler do
  3. describe 'null-Objekte passen sich den DB-Typen an' do
  4. before do
  5. # lade einen Standardschueler
  6. @sm = Schueler.where(:Status => 2, :Geloescht => "-", :Gesperrt => "-").first
  7. end
  8. it 'gibt ein DateTime bei Daten zurück' do
  9. @sm.geburtsdatum.must_be_instance_of DateTime
  10. end
  11. it 'gibt String für Text zurück' do
  12. @sm.bemerkungen.must_be_instance_of String
  13. end
  14. end
  15. describe 'null-Objekte geben immer etwas zurück' do
  16. before do
  17. # lade einen Standardschueler
  18. @sm = Schueler.where(:Status => 2, :Geloescht => "-", :Gesperrt => "-").first
  19. end
  20. it 'gibt nil zurück, wenn leer' do
  21. @sm.Bemerkungen.must_equal nil
  22. end
  23. it 'gibt leeren String zurück, wenn leer und typensicher' do
  24. @sm.bemerkungen.must_equal ""
  25. end
  26. it 'gibt Fehler zurück, wenn Methode nicht existiert' do
  27. proc {@sm.bemerrrrrrrrrkungen}.must_raise NoMethodError
  28. end
  29. it 'gibt 1899 als Datum zurück, wenn strftime aufgerufen wird' do
  30. @sm.geburtsdatum.strftime("%Y").must_equal "1899"
  31. end
  32. it 'gibt nil zurück, wenn Geburtsdatum leer ist' do
  33. @sm.Geburtsdatum.must_equal nil
  34. end
  35. end
  36. end