require 'rails_helper' describe ActiveAdmin::ViewHelpers::DownloadFormatLinksHelper do describe "class methods" do before :all do begin # The mime type to be used in respond_to |format| style web-services in rails Mime::Type.register "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", :xlsx rescue NameError puts "Mime module not defined. Skipping registration of xlsx" end class Foo include ActiveAdmin::ViewHelpers::DownloadFormatLinksHelper end end it "extends the class to add a formats class method that returns the default formats." do expect(Foo.formats).to eq [:csv, :xml, :json] end it "does not let you alter the formats array directly" do Foo.formats << :xlsx expect(Foo.formats).to eq [:csv, :xml, :json] end it "allows us to add new formats" do Foo.add_format :xlsx expect(Foo.formats).to eq [:csv, :xml, :json, :xlsx] end it "raises an exception if you provide an unregisterd mime type extension" do expect{ Foo.add_format :hoge }.to raise_error end end end