From f7f89371976f5e804a37cd77e93039cb10605660 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Sat, 5 Jan 2019 02:56:47 +0100 Subject: [PATCH] started increasing test coverage for lva --- app/models/lva.rb | 15 ----------- spec/factories/semester_factory.rb | 15 +++++++++++ spec/models/lva_spec.rb | 40 ++++++++++++++++++++++++++---- 3 files changed, 50 insertions(+), 20 deletions(-) create mode 100644 spec/factories/semester_factory.rb diff --git a/app/models/lva.rb b/app/models/lva.rb index f9e76b1..3a4806f 100755 --- a/app/models/lva.rb +++ b/app/models/lva.rb @@ -18,21 +18,6 @@ # typ :string(255) # -# == Schema Information -# -# Table name: lvas -# -# id :integer not null, primary key -# name :string(255) -# desc :text -# ects :decimal -# lvanr :string(255) -# stunden :decimal -# created_at :datetime not null -# updated_at :datetime not null -# modul_id :integer -# semester_id :integer - class Lva < ActiveRecord::Base ERLAUBTE_TYPEN = ['VO', 'UE', 'VU', 'LU', 'SE', 'PR', 'andere']; translates :desc,:pruefungsinformation, :fallbacks_for_empty_translations => true, :versioning=> :paper_trail #true #{:gem=>:paper_trail} diff --git a/spec/factories/semester_factory.rb b/spec/factories/semester_factory.rb new file mode 100644 index 0000000..7ca0956 --- /dev/null +++ b/spec/factories/semester_factory.rb @@ -0,0 +1,15 @@ + +FactoryGirl.define do + factory :semester do + nummer 2 + + factory :zero_semester do + + nummer 0 + end + factory :first_semester do + + nummer 1 + end + end +end diff --git a/spec/models/lva_spec.rb b/spec/models/lva_spec.rb index 5766efd..f7c55c8 100644 --- a/spec/models/lva_spec.rb +++ b/spec/models/lva_spec.rb @@ -3,9 +3,39 @@ require 'spec_helper' describe Lva, :type=>:model do pending "add some examples to (or delete) #{__FILE__}" let_studium_lva - before(:each) do - @l = FactoryGirl.build(:lva) + + it "should be valid" do + expect(lva).to be_valid end + it "should respond to semesters" do + expect(lva.respond_to?(:semester)).to be true + end + it "should be give empty string for typ_n if typ is andere" do + lva.typ="andere" + expect(lva.typ_n).to eq("") + end + + it "should have title as an alias for name" do + lva.name="sdfWER" + expect(lva.title).to eq("sdfWER") + end + it "should have a full name containing typ and name" do + lva.typ="VO" + expect(lva.full_name).to match "VO" + expect(lva.full_name).to match lva.name + end + it "should have a semester after fixing" do + + expect(lva.semester).to be_empty + + studium.semester << zerosemester + studium.save + expect(studium.semester).not_to be_empty + lva.add_semesters + + expect(lva.semester).not_to be_empty + end + describe "if bare" do let(:lva) {FactoryGirl.build(:lva)} it "should be created" do @@ -19,9 +49,9 @@ describe Lva, :type=>:model do expect(l.errors[:modul].size).to be(1) end end - it "should respond to semesters" do - expect(lva.respond_to?(:semester)).to be true - end + + pending "should not be valid if it doesn't have a Semester for a studium" + pending "should not be valid without modul" pending "should have beispiele" pending "should be flagable"