Sha256: d683aa913cfb266251afb1b518b018faaca1a99e8062765d4f64d7d8cccc2b7d

Contents?: true

Size: 1.48 KB

Versions: 89

Compression:

Stored size: 1.48 KB

Contents

require 'rails_helper'

RSpec.describe CoalescingPanda::Assignment, :type => :model do
  let(:assignment) { FactoryGirl.create(:assignment) }

  context "associations" do
    it 'should belong_to a course' do
      expect(CoalescingPanda::Assignment.reflect_on_association(:course)).to_not be_nil
      expect(CoalescingPanda::Assignment.reflect_on_association(:course).macro).to eql(:belongs_to)
      expect(CoalescingPanda::Assignment.reflect_on_association(:assignment_group).macro).to eql(:belongs_to)
    end

    it 'should have many submisssions' do
      expect(CoalescingPanda::Assignment.reflect_on_association(:submissions)).to_not be_nil
      expect(CoalescingPanda::Assignment.reflect_on_association(:submissions).macro).to eql(:has_many)
    end
  end

  context "validations" do
    it "should require a canvas id" do
      expect(FactoryGirl.build(:assignment, canvas_assignment_id: "")).to_not be_valid
    end

    it "should require a course" do
      expect(FactoryGirl.build(:assignment, coalescing_panda_course_id: "")).to_not be_valid
    end

    it 'should be unique to a course' do
      course = FactoryGirl.create(:course)
      assignment = FactoryGirl.create(:assignment, course: course, canvas_assignment_id: "1")
      expect { FactoryGirl.create(:assignment, course: course, canvas_assignment_id: "1") }.to raise_error ActiveRecord::RecordNotUnique
    end

    it "should be valid with valid data" do
      expect(FactoryGirl.build(:assignment)).to be_valid
    end
  end

end

Version data entries

89 entries across 89 versions & 1 rubygems

Version Path
coalescing_panda-5.3.0 spec/models/coalescing_panda/assignment_spec.rb
coalescing_panda-5.2.2 spec/models/coalescing_panda/assignment_spec.rb
coalescing_panda-5.2.2.beta1 spec/models/coalescing_panda/assignment_spec.rb
coalescing_panda-5.2.1 spec/models/coalescing_panda/assignment_spec.rb
coalescing_panda-5.2.0 spec/models/coalescing_panda/assignment_spec.rb
coalescing_panda-5.2.0.beta2 spec/models/coalescing_panda/assignment_spec.rb
coalescing_panda-5.2.0.beta1 spec/models/coalescing_panda/assignment_spec.rb
coalescing_panda-5.1.13 spec/models/coalescing_panda/assignment_spec.rb
coalescing_panda-5.1.12 spec/models/coalescing_panda/assignment_spec.rb
coalescing_panda-5.1.11 spec/models/coalescing_panda/assignment_spec.rb
coalescing_panda-5.1.10 spec/models/coalescing_panda/assignment_spec.rb
coalescing_panda-5.1.9 spec/models/coalescing_panda/assignment_spec.rb
coalescing_panda-5.1.8 spec/models/coalescing_panda/assignment_spec.rb
coalescing_panda-5.1.7 spec/models/coalescing_panda/assignment_spec.rb
coalescing_panda-5.1.6 spec/models/coalescing_panda/assignment_spec.rb
coalescing_panda-5.1.5 spec/models/coalescing_panda/assignment_spec.rb
coalescing_panda-5.1.4 spec/models/coalescing_panda/assignment_spec.rb
coalescing_panda-5.1.3.beta.2 spec/models/coalescing_panda/assignment_spec.rb
coalescing_panda-5.1.3.beta.1 spec/models/coalescing_panda/assignment_spec.rb
coalescing_panda-5.1.3 spec/models/coalescing_panda/assignment_spec.rb