Sponsor

Added Sponsor model and customized its views
I propose an alternate approach to keep the tests more concise and clear, and to be certain that you are always testing what you think you are:

~~~ruby
let(:sponsor) { Sponsor.new(valid_attributes) } # i.e. valid name, country, date etc. - whatever is needed to pass all validations

subject { sponsor }

it { should be_valid }

describe 'validations' do
  context 'when name is missing' do
    before { sponsor.name = '' }
    it { should_not be_valid }
  end
  .
  .
end
~~~

The idea is to start with a valid object, and then alter one thing at a time to make sure that *that single change* makes it invalid. You could even go further and test that e.g. setting `sponsor.name = ''` not only invalidates `sponsor` but also creates an error on `sponsor.name`, but that's probably overkill. There is also a way to use the newer `expect` syntax with this approach, if you prefer - [Relishapp](https://www.relishapp.com/rspec/rspec-core/docs/subject/one-liner-syntax).