require "spec_helper"

describe Admin::ExportCsvController do

  it "is a subclass of AdminController" do
    (Admin::ExportCsvController < Admin::AdminController).should == true
  end

  let(:export_filename) { "export_b6a2bc87.csv" }

  context "while logged in as an admin" do

    before { @admin = log_in(:admin) }

    describe ".download" do

      it "uses send_file to transmit the export file" do
        controller.stubs(:render)
        export = ExportCsv.new()
        ExportCsv.expects(:get_download_path).with(export_filename).returns(export)
        subject.expects(:send_file).with(export)
        get :download, id: export_filename
      end

      it "returns 404 when the export file does not exist" do
        ExportCsv.expects(:get_download_path).returns(nil)
        get :download, id: export_filename
        response.should be_not_found
      end

    end

  end

end
