Commit 2340a574b286dd8597c8541894187f7eb4f04820
1 parent
3a971de0
Exists in
master
and in
29 other branches
[stoa] Validating uniqueness of usp_id
(ActionItem2293)
Showing
4 changed files
with
24 additions
and
1 deletions
Show diff stats
plugins/stoa/controllers/stoa_plugin_controller.rb
... | ... | @@ -26,7 +26,7 @@ class StoaPluginController < PublicController |
26 | 26 | |
27 | 27 | def check_usp_id |
28 | 28 | begin |
29 | - render :text => { :exists => StoaPlugin::UspUser.exists?(params[:usp_id]) }.to_json | |
29 | + render :text => { :exists => StoaPlugin::UspUser.exists?(params[:usp_id]) && Person.find_by_usp_id(params[:usp_id]).nil? }.to_json | |
30 | 30 | rescue Exception => exception |
31 | 31 | render :text => { :exists => false, :error => {:message => exception.to_s, :backtrace => exception.backtrace} }.to_json |
32 | 32 | end | ... | ... |
plugins/stoa/lib/stoa_plugin.rb
... | ... | @@ -0,0 +1,17 @@ |
1 | +require File.dirname(__FILE__) + '/../../../../test/test_helper' | |
2 | + | |
3 | +class StoaPlugin::Person < ActiveSupport::TestCase | |
4 | + | |
5 | + should 'validates uniqueness of usp_id' do | |
6 | + usp_id = 12345678 | |
7 | + person = create_user('some-person').person | |
8 | + person.usp_id = usp_id | |
9 | + person.save! | |
10 | + another_person = Person.new(:name => "Another person", :identifier => 'another-person', :usp_id => usp_id) | |
11 | + | |
12 | + assert !another_person.valid? | |
13 | + assert another_person.errors.invalid?(:usp_id) | |
14 | + end | |
15 | + | |
16 | +end | |
17 | + | ... | ... |