diff --git a/.travis.yml b/.travis.yml index 656ae28..cc29ebc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,12 +1,14 @@ language: ruby sudo: false rvm: - - 2.4.1 + - 2.5.1 + - 2.4.4 jdk: - oraclejdk8 env: matrix: - - "RAILS_VERSION=5.1.1" - - "RAILS_VERSION=5.0.3" + - "RAILS_VERSION=5.2.1" + - "RAILS_VERSION=5.1.6" + - "RAILS_VERSION=5.0.7" global: - NOKOGIRI_USE_SYSTEM_LIBRARIES=true diff --git a/Gemfile b/Gemfile index 46ad934..059c681 100644 --- a/Gemfile +++ b/Gemfile @@ -28,15 +28,6 @@ else gem 'rails', ENV['RAILS_VERSION'] end end - - case ENV['RAILS_VERSION'] - when /^4.2/ - gem 'responders', '~> 2.0' - gem 'sass-rails', '>= 5.0' - gem 'coffee-rails', '~> 4.1.0' - when /^4.[01]/ - gem 'sass-rails', '< 5.0' - end end # END ENGINE_CART BLOCK diff --git a/hydra-editor.gemspec b/hydra-editor.gemspec index da9d67b..5e43ebc 100644 --- a/hydra-editor.gemspec +++ b/hydra-editor.gemspec @@ -15,23 +15,27 @@ Gem::Specification.new do |s| s.files = Dir["{app,config,db,lib}/**/*"] + ["Rakefile", "README.md", "History.md"] + s.add_dependency "activerecord", "~> 5.0" s.add_dependency "active-fedora", ">= 9.0.0" s.add_dependency "almond-rails", '~> 0.1' s.add_dependency "cancancan", "~> 1.8" - s.add_dependency "rails", ">= 4.2.0", "< 6" - s.add_dependency "simple_form", '~> 3.2' + s.add_dependency "rails", ">= 5.0.7", "< 6" + s.add_dependency "simple_form", '~> 4.0' s.add_dependency 'sprockets-es6' + s.add_dependency 'thor', '~> 0.19' s.add_development_dependency "capybara", '~> 2.4' s.add_development_dependency "coveralls", '~> 0.8' s.add_development_dependency "devise", '~> 4.0' - s.add_development_dependency "engine_cart", '~> 1.0' + s.add_development_dependency "engine_cart", '~> 2.0' s.add_development_dependency 'factory_bot_rails', '~> 4.8' s.add_development_dependency 'fcrepo_wrapper', '~> 0.5' - s.add_development_dependency "hydra-head", '>= 9.0' + s.add_development_dependency "hydra-head", '~> 10.5' s.add_development_dependency "jasmine", '~> 2.3' + s.add_development_dependency "pry-byebug" s.add_development_dependency 'rails-controller-testing' s.add_development_dependency 'rspec-rails', '~> 3.1' + s.add_development_dependency 'sdoc', '~> 1.0' s.add_development_dependency 'simplecov', '~> 0.16' s.add_development_dependency 'solr_wrapper', '~> 0.15' s.add_development_dependency 'sqlite3', '~> 1.3' diff --git a/spec/factories/users.rb b/spec/factories/users.rb index 3c66c04..960bca0 100644 --- a/spec/factories/users.rb +++ b/spec/factories/users.rb @@ -5,7 +5,7 @@ sequence :email do |n| "person#{n}@example.com" end - password 'password' + password { "password" } factory :admin do # admin true end diff --git a/spec/features/create_record_spec.rb b/spec/features/create_record_spec.rb index ff4988e..675121e 100644 --- a/spec/features/create_record_spec.rb +++ b/spec/features/create_record_spec.rb @@ -22,7 +22,7 @@ select 'Audio', from: 'Select an object type' click_button 'Next' - fill_in '* Title', with: 'My title' + fill_in 'Title', with: 'My title' allow_any_instance_of(Audio).to receive(:attributes=).with({}) # called when initializing a new object expect_any_instance_of(Audio).to receive(:attributes=).with(params) diff --git a/spec/inputs/multi_value_input_spec.rb b/spec/inputs/multi_value_input_spec.rb index f27ad6a..3f19be2 100644 --- a/spec/inputs/multi_value_input_spec.rb +++ b/spec/inputs/multi_value_input_spec.rb @@ -18,7 +18,7 @@ def double_bar context "for values from a property on the object" do subject { input_for(foo, :bar, as: :multi_value, required: true) } it 'renders multi-value' do - expect(subject).to have_selector('.form-group.foo_bar.multi_value label.required[for=foo_bar]', text: '* Bar') + expect(subject).to have_selector('.form-group.foo_bar.multi_value label.required[for=foo_bar]', text: 'Bar *') expect(subject).to have_selector('.form-group.foo_bar.multi_value ul.listing li input.foo_bar', count: 3) end end @@ -40,7 +40,7 @@ def double_bar end it 'renders multi-value given a nil object' do - expect(subject).to have_selector('.form-group.foo_bar.multi_value label.required[for=foo_bar]', text: '* Bar') + expect(subject).to have_selector('.form-group.foo_bar.multi_value label.required[for=foo_bar]', text: 'Bar *') expect(subject).to have_selector('.form-group.foo_bar.multi_value ul.listing li input.foo_bar') end end @@ -53,8 +53,8 @@ def double_bar subject { MultiValueInput.new(builder, :bar, nil, :multi_value, {}) } it 'renders multi-value' do - expect(subject).to receive(:build_field).with('bar1', Fixnum) - expect(subject).to receive(:build_field).with('bar2', Fixnum) + expect(subject).to receive(:build_field).with('bar1', Integer) + expect(subject).to receive(:build_field).with('bar2', Integer) expect(subject).to receive(:build_field).with('', 2) subject.input({}) end diff --git a/spec/views/records/_form.html.erb_spec.rb b/spec/views/records/_form.html.erb_spec.rb index 41d2844..78f9863 100644 --- a/spec/views/records/_form.html.erb_spec.rb +++ b/spec/views/records/_form.html.erb_spec.rb @@ -19,13 +19,18 @@ end context 'when errors are present' do - let(:errors) { double('errors', :[] => ["can't be blank"]) } - before { allow(form).to receive(:errors).and_return(errors) } + let(:errors) { instance_double(ActiveModel::Errors) } + + before do + allow(errors).to receive(:[]).and_return(["can't be blank"]) + allow(errors).to receive(:full_messages_for).and_return(["can't be blank"]) + allow(form).to receive(:errors).and_return(errors) + end it 'has the error class' do render - expect(response).to have_selector '.form-group.has-error' - expect(response).to have_selector '.help-block', text: "can't be blank" + expect(response).to have_selector '.form-group.form-group-invalid' + expect(response).to have_selector '.invalid-feedback', text: "can't be blank" end end end