require 'rails_helper'
require 'shared_account_spec'

RSpec.describe "homework", type: :request do
  include_context "create user"
  let(:course) {FactoryGirl.create(:course, teacher: current_user)}
  let(:homework){FactoryGirl.attributes_for(:homework)}

  before {
    shared_register
  }
  describe "创建作业" do
    before do 
      post calls_create_homework_path(course_id: course.id), {
                bid: homework
      }
      @homework = assigns(:bid) 
    end
    it "参数正确，可以成功创建作业" do
      expect(response).to redirect_to(course_homework_url(course.id))
    end
    it {expect(course.homeworks).to_not be_empty}
    it {expect(@homework.acts).to_not be_empty}
    it {expect(@homework.watchers).to_not be_empty}
    it {expect(@homework.attachments).to_not be_empty}
  end

  describe "删除作业" do
    before do
      shared_login
      post calls_create_homework_path(course_id: course.id), {
                bid: homework
      }
      @homework = assigns(:bid)
      delete bids_homework_path(id: @homework.id)
    end
    it{expect(response).to redirect_to(course_homework_path(course.id))}
    it "homework_for_courses应删除" do
      expect(course.homeworks).to be_empty
    end
    it "相关活动也删除" do
      expect(@homework.acts).to be_empty
    end
    it "watches 删除" do
      expect(@homework.watchers).to be_empty
    end
    it "附件 删除" do
      expect(@homework.attachments).to be_empty
    end
  end

end
