summaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorHarald Eilertsen <haraldei@anduin.net>2017-09-09 17:37:13 +0200
committerHarald Eilertsen <haraldei@anduin.net>2017-09-09 17:37:13 +0200
commit5de07c194e85fa74e7d7f2be12e99cb9acad3ccc (patch)
treefc58dc46aba60b898afec89a1cb5b451da07d236 /spec
parent032d46f65ac3bbfe5c05f96e6b68d0dfe2a4aa3d (diff)
downloadnorsk-urskog-registrations-5de07c194e85fa74e7d7f2be12e99cb9acad3ccc.tar.gz
norsk-urskog-registrations-5de07c194e85fa74e7d7f2be12e99cb9acad3ccc.tar.bz2
norsk-urskog-registrations-5de07c194e85fa74e7d7f2be12e99cb9acad3ccc.zip
Validate postcode properly.
Don't accept invalid postcodes, or postcodes containing invalid chars.
Diffstat (limited to 'spec')
-rw-r--r--spec/contact_spec.rb29
-rw-r--r--spec/spec_helper.rb2
-rw-r--r--spec/support/contact_factory.rb12
3 files changed, 43 insertions, 0 deletions
diff --git a/spec/contact_spec.rb b/spec/contact_spec.rb
new file mode 100644
index 0000000..980626b
--- /dev/null
+++ b/spec/contact_spec.rb
@@ -0,0 +1,29 @@
+require 'spec_helper'
+
+describe Contact do
+ let(:params) { create_contact_params }
+
+ it "rejects empty postcodes" do
+ params.delete('postcode')
+ @contact = Contact.new(params)
+ expect(@contact.valid?).to be(false)
+ end
+
+ it "rejects too short postcodes" do
+ params['postcode'] = '123'
+ @contact = Contact.new(params)
+ expect(@contact.valid?).to be(false)
+ end
+
+ it "rejects too long postcodes" do
+ params['postcode'] = '12345'
+ @contact = Contact.new(params)
+ expect(@contact.valid?).to be(false)
+ end
+
+ it "rejects postcodes wiht invalid chars" do
+ params['postcode'] = '123s'
+ @contact = Contact.new(params)
+ expect(@contact.valid?).to be(false)
+ end
+end
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index cd9f3f3..293bd8e 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -2,11 +2,13 @@ ENV['RACK_ENV'] = 'test'
require_relative '../registration'
require_relative 'support/band_factory'
+require_relative 'support/contact_factory'
require_relative 'support/submit_form_helper'
require 'capybara/rspec'
RSpec.configure do |config|
config.include BandFactory
+ config.include ContactFactory
config.include SubmitFormHelper
config.before(:example) do
diff --git a/spec/support/contact_factory.rb b/spec/support/contact_factory.rb
new file mode 100644
index 0000000..f05e9a1
--- /dev/null
+++ b/spec/support/contact_factory.rb
@@ -0,0 +1,12 @@
+module ContactFactory
+ def create_contact_params(params = {})
+ par = {
+ 'name' => 'Contact Name',
+ 'street' => "Streetname 666",
+ 'postcode' => "1234",
+ 'city' => "Someplace Nice",
+ 'phone' => '98765432',
+ 'email' => 'band@example.com',
+ }.merge(params)
+ end
+end