From 800f8b9ee333fa703b30e3761124428564456908 Mon Sep 17 00:00:00 2001 From: Harald Eilertsen Date: Sat, 10 Oct 2015 18:36:09 +0200 Subject: Validate presence of contact info when submitting form. --- spec/registration_spec.rb | 26 +++++++++++++++++++++----- spec/support/band_factory.rb | 14 +++++++++----- 2 files changed, 30 insertions(+), 10 deletions(-) (limited to 'spec') diff --git a/spec/registration_spec.rb b/spec/registration_spec.rb index e4d5ff4..89e2fa5 100644 --- a/spec/registration_spec.rb +++ b/spec/registration_spec.rb @@ -58,10 +58,10 @@ describe RegistrationApp do expect(last_response).to match(/Plateselskap\: Calculated Imperfection/) expect(last_response).to match(/Kort bio\: Thrash metal from Norway/) - expect(last_response).to match(/Kontaktperson: Harald Eilertsen/) - expect(last_response).to match(/Kontaktadresse: Gamleveien 13\n1289 Snufstad/) - expect(last_response).to match(/Telefon: 98765432/) - expect(last_response).to match(/Epost: mail@imbalance\.no/) + expect(last_response).to match(/Kontaktperson: #{band_params['contact']['name']}/) + expect(last_response).to match(/Kontaktadresse: #{band_params['contact']['addr']}/) + expect(last_response).to match(/Telefon: #{band_params['contact']['phone']}/) + expect(last_response).to match(/Epost: #{band_params['contact']['email']}/) expect(last_response).to match(/Harald Eilertsen, Bass\/Vocals/) expect(last_response).to match(/Welle, Drums/) @@ -88,7 +88,7 @@ describe RegistrationApp do end shared_examples_for('form with errors') do |args| - let (:band_params) { create_band_params(args) } + let(:band_params) { create_band_params(args) } describe "form with errors" do before :each do @@ -116,5 +116,21 @@ describe RegistrationApp do context 'with a band name with only spaces' do it_behaves_like('form with errors', {:name => ' '}) end + + context 'with no contact' do + it_behaves_like('form with errors', {:contact_name => ''}) + end + + context 'with no contact address' do + it_behaves_like('form with errors', {:contact_addr => ''}) + end + + context 'with no contact phone' do + it_behaves_like('form with errors', {:contact_phone => ''}) + end + + context 'with no contact email' do + it_behaves_like('form with errors', {:contact_phone => ''}) + end end end diff --git a/spec/support/band_factory.rb b/spec/support/band_factory.rb index 4bf9a15..498f532 100644 --- a/spec/support/band_factory.rb +++ b/spec/support/band_factory.rb @@ -2,7 +2,11 @@ module BandFactory def create_band_params(options = {}) opts = { :songs => 1, - :name => 'Band name' + :name => 'Band name', + :contact_name => 'Contact Name', + :contact_addr => "Streetname 666\n1234Someplace Nice", + :contact_phone => '98765432', + :contact_email => 'band@example.com' }.merge(options) num_songs = opts.delete(:songs) @@ -14,10 +18,10 @@ module BandFactory 'label' => 'Calculated Imperfection', 'shortbio' => 'Thrash metal from Norway', 'contact' => { - 'name' => 'Harald Eilertsen', - 'addr' => "Gamleveien 13\n1289 Snufstad", - 'phone' => '98765432', - 'email' => 'mail@imbalance.no' + 'name' => opts[:contact_name], + 'addr' => opts[:contact_addr], + 'phone' => opts[:contact_phone], + 'email' => opts[:contact_email] }, 'members' => { '1' => { -- cgit v1.2.3