F,::i---**0<?@(6(6*A5 *B5*C*3 !"&)-/?0q.>>/I0I0 **W9 G  @ A:0*3B  C!1EF122a2**00I,*3 &DE93EE344A4**07* 5l*J *0O7 * KH5* L0MH*007* NH* 0OH5 * PH**3 "-/CNYkmx|~FGHIJKI5II)A999 **07Z*J *0O7** SH* NH* 0OH5* TH* 0H*5* *3 '2DFQ^bdhjFGHKkQ;RRW>!?!? **W0B*3 d   G@VW AAAaA**0O70O6 0,*3"$ d""IHGHIJ%IBVV}qCCCC**0Z,0*3GLDYYEE E**0]^0*3  _`ML@qGF\\9GqG!G**WZ,*3     uHbcH II""]I**dW0e*3N U UL5JbcJJJ""%K**0,#Y*W07 *W,$5 *Wf,*3!+-O d UIP.KbbmMMM"M**9 Q: I0*3ROhhOO%O**9 Q:W0lI0,*3 S  TR!PjkQ RR&&]R**0,'m,*3  d UVeSjj T=T=T&eT**0Q6* 07   0*3 "$WXYZ%]UooVV(V **07* 07   0 *3 #%WY[&WqqYMY)MY **0Q6*A07 A 0*3 $&\XYZ'EZss}[[*[ **07*A07A 0 *3 %'\Y[(\uu ^U^+U^ ** 'w !6*0*]*3^M_vv5`e`,e`**0]*]7 5*0]*  *3    &( _`)=ayybb-b**00Y*W07*W5 *3 a&b c{{#dd.d**W0*3  c    d@fe}~9Ufuf}f//f**,0*3 !eW9 G  f:(7WZ*9 g:X003W4! ()$hi@i-Qh}9ii//i  1  <g}}7)hIhj/Uk**0WC7*W0*00* *3#$%()+-,/+jklmcd@m0-lGmm2m**0Y*0Y*W9 n:0Y*W7W7WWMD7 *W?5*W*3./ 02(3>4G3I6M8O6opqrsCtuvP)o]qq3r **9   w:00*3:;<;xy9sut9t49t**W0W00*3ABCDBFBz d c{|!uu vv55Yv**00=*0,6*=*3>?AHI H dc}~!Qw}Yxxx5x**07* 5*000 **3KL MLOP'O*Q.S0Q&1yA{{7{ **07 *000 *5* *3UV W X!W$Y(V*[.]0[&1|!~q~8q~ **000600000*3_a`a)b+a&&,yـ 9 **007* 5a*0Z,Y*AY*WW0H*W07 *WH5 *WH*W00H*W **3de feh!j'l4n=oGnIqStivpxtzvxLP&wQ : **007* 5a*0Z,Y*AY*WW0H*W07 *WH5 *WH*W00H*W **3|} ~}!'4=GISiptvJLP&w!ًY;i **0W0*3 U d&+<< ** '76 0,=*3  dGE!)!!<I**0W0Q*3 d &X17>>a** '76 0,?*3  dGE!Y5a>**007 *00*0 0*3 %'kYk[(Aٗ @ **  *007 *00*0 0*3+-kYkZ.1QٚAٚ**07]*0Y*W0Y*0@B72*WWB7*9 :0W00*W 05*W 05* *3 (3=ADFMXZegkmjk?&hZ[i@neqB- **07c*  *0Y*W0Y*0@B7 *W 056*WWB7*9 :0W00*W 05* *3 !.9;FPTWY`kmqsjk?[&hZi@tMC **0C7007 0OQ*3*,?lkkHX-1D1**W009 G  :0*3W9 :(7*3W4 $IiEEqUFyq9E**0 0*3  UkZy ))HGq**W,I*3   d    YɰGGY**00606 0,H*3 ! dGG"1AG**  *0 0*3  k[KJ**W,L*3   U U  U ٶIiqJJٷ**0070Q7 0,K*3 "$ d""GJXGJ%ٹJA** W,00Y*W07 *W05 *WW0Y*WW0*2*WW0*3&( 24 ?CNP*XX0W4 $|i MMdNCNr||QiQѿM **W0Y*W07W07 *W05*W0*3 (*245Q)9OI**9   :W00*3 ra=1QPY**W9 Q:07*WW[I05 *WW0*3"#$"#$&.(0&C1AEQ**W0Y*W0B7*9 :05*W07*WW0Y*W005i*WW07*9 ! ":W005H*W07 *W054*W07 *W005*W07 *WQ5 *W00*3*+ -.&-(/20>1H/J2V3i2k4v5}4676898;=;iXUR**W0*3A d  d  !)TSq** W,,U*3@ABA d t uI SSy** I,T*3?@C@ daSA**W0*3EF G Fj)V**00700W0I*3IKJ K L"K&#W**W0S7W0*3NOPO X**WXB*3ST U T U  U YY**00W0I,Z*3RSVS VY**WWW0Y*W0*WIWH*3XYZ[ \ Y^`'a)`azj*a[ **0WW0*3cdef g hdjdzjc\ **0WW0*3lmno p qmsmzjq] **I0*3uvwvAa^a**I0=*3y{z {|{I 9_9**0=*3~G1`**9    :WWW00*3"$azj@a%Ia **00*3c{}%b%**07 *005*0*3 k !5c5**00W0I*3&=1 d**W00*39e**0*3   A%EfE**AY* 7m*W00H*07*WH*W00H5)*W0H*W00H*WH5*07<*W00H*WH*W00H*WH5I*W000H*WH*W9   :00H*W H*W 00 H*W0H*W 00 H*W*3#+57:>AEGZpz| +AEG&k&&k&&HI]g((**000*3zh**W0Y*WB7 *WH*W9   :W00H*W07/*WH*W9   :W00H*WeH*W B7 *WH*W*3  ')6;>BKUWdilpzz  ui**00*3  L=j**W00BY*WW0*3  U D]kki **0,l*3  d yk9**00B*3    !m**00*3  !!9YnY**00*3  A##%o***3    5!AqA**W0Y*W7* WW%J5 *WH*3 !""!$$.&0$1 &&=r**XWH*3*+ , + U   (*UIiqts**X,u*3)* - * d U  v t  ()S !!!ss!**0,t*3() .) d }<a"((Q""#s)#**W,*301 21$@,,a$$v$**0*345 6 5 %..i%&w&**W0X0B*3;=< =>= d Uzz&01w'''xx(**,y*3:; ? ; d  )00uy)))x)**9 :0* q0*%r0*'s0*+v0*-w0*0*/x0*3((40@4L8S:^@`:a*$$/-.p. **9  :5006070080090:9   :; 0*3FG HJ(O2P9XGGIHKGNZPG&j&QI/44112{12 **0*3{0*3CDF[F322q44z4**=9   :00>0?0*3cokd k"o%p'o(54467}7**9    :0*0*3}0*3^_ac*q,c- 8<<q99|9**9  :0* 0*0*0* 0* 0* 0*  0*" 0*$0**0*-0*0*00*20*40*0*0*0*<0*=0*D0*H0*Q0*U0*X 0*[!0*a"0*g%0*i&0*n(0*p)0*r*0*t+0*,0*x-0*z.0*|/0*20*30*40*50*70*80*90*:0*;0*<0*>0*@0*A0*B0*C0*D0*E0*G0*J0*M0*O0*P0*Q0*R0*S0*V0*W0*X0*Y0*[0*\0*]0*^0*_0*`0*a0*b0*c0*d0*e0*f0*7g0*8h0*i0*j0*k0*m0* n0*"o0* +p*9   :+z*9   :+g|*3*6 B%N*Z.f3r7~CSbdhltvz'3?KWco{#.:>KU _d#|/;GS_kw"*?EINRX+c7lCuOy[~gs C-^@rB^C: \__W]**0*9  :+*3s!"ef g g** +*3 t gQhqhqh** +*3 u 9iiii* +3 jjjjjiqhg  eIq i aQ!" !1$%I*y(+-Y04q2:?)DAEGMNmI5KPTR W}Y\^u`beekf%janqrYtxv{~Y)i)ѕi9ɦqi yQaIII i EuUU%uYy.AI#!$)&)A(429A7@ABCDEFGHIJKLMNOPQRSTUVWXY>&ZY[\]^_`abIosRqucdefghi9jklmnoVhpjq\rbstuvwxyEz{|}#~y{}v,.:!(#04,E,/home/vagrant/.rvm/gems/ruby-2.4.0@cmor/gems/shoulda-matchers-4.1.0/lib/shoulda/matchers/active_record/validate_uniqueness_of_matcher.rbE,
E,E,E,,E,validate_uniqueness_ofE,#, E, initialize,,,@,,v,:,E, scoped_to,R,,E,case_insensitive,9,,E,ignoring_case_sensitivity,,E, allow_nil,E,expects_to_allow_nil?,!E, allow_blank,#E,expects_to_allow_blank?,%E,simple_descriptionE,validate that :E, isE, uniqueE, within the scope of ,+E,matches?E,ensure in matches?,.E,does_not_match?E,ensure in does_not_match?,1E,failure_reason,3E,failure_reason_when_negated,5E,%build_allow_or_disallow_value_matcherE,.block in build_allow_or_disallow_value_matcher,,E,case_sensitivity_strategyE, new_record,i,,>E,(description_for_case_sensitive_qualifier,@,E,E, case-sensitivelyE, case-insensitively,EE, validationsE,block in validations,,IE,matches_scopes_configuration?E,Expected the validation E,not to be scoped to anything, E,to be scoped to E,, E,but it was scoped to E, instead.E,"but it was not scoped to anything.,RE,$does_not_match_scopes_configuration?E,to be scoped to nothing, E,not to be scoped to ,VE, scopes_match?E,block in scopes_match?,YE,inspected_expected_scopes,,\E,inspected_actual_scopesE, and E,, and,,,bE,inspected_actual_sets_of_scopesE,(block in inspected_actual_sets_of_scopesE,(E,),r,hE,expected_scopes,jE,actual_sets_of_scopesE,block in actual_sets_of_scopes,,p,oE,matches_allow_nil?,qE,does_not_match_allow_nil?,sE,matches_allow_blank?,uE,does_not_match_allow_blank?E,existing_record,~,yE,find_or_create_existing_record,{E,find_existing_record,}E,create_existing_recordE,block in create_existing_record,E, rescue in create_existing_record,,E,update_existing_record!,E,arbitrary_non_blank_valueE,x,E,has_secure_password?,E,build_new_recordE,block in build_new_record,E,matches_presence_of_attribute?E,:E,% does not seem to be an attribute on E,.,E,%does_not_match_presence_of_attribute?E, seems to be an attribute on ,E,attribute_present_on_model?E,=,E,matches_presence_of_scopes?E, do not seem to be attributesE,! does not seem to be an attributeE, on ,E,"does_not_match_presence_of_scopes?E, seem to be attributesE, seems to be an attribute,E,scopes_present_on_model,E, block in scopes_present_on_model,E,scopes_missing_on_model,E, block in scopes_missing_on_model,E,"matches_uniqueness_without_scopes?,E,)does_not_match_uniqueness_without_scopes?,E,2matches_uniqueness_with_case_sensitivity_strategy?,,P,,E,9does_not_match_uniqueness_with_case_sensitivity_strategy?,E,should_test_case_sensitivity?,,E, model_class?E,rescue in model_class?,E,matches_uniqueness_with_scopes?E,(block in matches_uniqueness_with_scopes?E,3block (2 levels) in matches_uniqueness_with_scopes?,E,&does_not_match_uniqueness_with_scopes?E,/block in does_not_match_uniqueness_with_scopes?E,:block (2 levels) in does_not_match_uniqueness_with_scopes?,E,setting_next_value_forE, ensure in setting_next_value_for,E,dummy_value_for,,E,dummy_scalar_value_for,E,next_value_for,E,next_scalar_value_for,,,,E,all_scopes_are_booleans?E,!block in all_scopes_are_booleans?E,,block (2 levels) in all_scopes_are_booleans?,E,boolean_value?, ,E,defined_as_enum?,,E,polymorphic_type_attribute?,,E,available_enum_values_forE,"block in available_enum_values_for,E,set_attribute_on!,E,!set_attribute_on_existing_record!,E,set_attribute_on_new_record!,E,$attribute_setter_for_existing_record,E, attribute_setters_for_new_record,E,attribute_names_under_test,E,build_attribute_setter,,,,,E,existing_value_read,E,existing_value_written,E, column_for,E,column_limit_for,E,modelE,failure_message_prefaceE,After taking the given E, , setting E, , whose :E, is E,‹E,›E,,, and saving it as the existing record, thenE,Given an existing E,,E, after setting E,, thenE, whose :E,, afterE, making a new E, and setting E,, the matcher expected the new E, to beE,attribute_changed_value_messageE,$As indicated in the message above, :E, seems to be changing certain values as they are set, and this could have something to do with why this test is failing. If you or something else has overridden the writer method for this attribute to normalize values by changing their case in any way (for instance, ensuring that the attribute is always downcased), then try adding `ignoring_case_sensitivity` onto the end of the uniqueness matcher. Otherwise, you may need to write the test yourself, or do something different altogether. ,E, description_for_attribute_setterE,its :E, to E,a different value, E, (read back as E, as well,E,1descriptions_for_attribute_setters_for_new_record,E,,attribute_setter_descriptions_for_new_recordE,5block in attribute_setter_descriptions_for_new_record,,E,!existing_and_new_values_are_same?,!E,(last_attribute_setter_used_on_new_record,#E,last_value_set_on_new_recordE,,&E,<<,(E,+E, block in +E,block (2 levels) in +,,E,each,.E,last,0E, find_index_ofE,block in find_index_ofE,",4E,messageE,Your E,' model has a uniqueness validation on :E,T which is declared to be case-sensitive, but the value the uniqueness matcher used, E,L, doesn't contain any alpha characters, so using it to test the case-sensitivity part of the validation is ineffective. There are two possible solutions for this depending on what you're trying to do here: a) If you meant for the validation to be case-sensitive, then you need to give the uniqueness matcher a saved instance of E, with a value for :E, that contains alpha characters. b) If you meant for the validation to be case-insensitive, then you need to add `case_sensitive: false` to the validation and add `case_insensitive` to the matcher. For more information, please see: http://matchers.shoulda.io/docs/vE,&/file.NonCaseSwappableValueError.html E,E,validate_uniqueness_of works by matching a new record against an existing record. If there is no existing record, it will create one using the record you provide. While doing this, the following error was raised: ,E, The best way to fix this is to provide the matcher with a record where any required attributes are filled in with valid values beforehand. E,ShouldaE,MatchersE, ActiveRecordE,ValidateUniquenessOfMatcherE,attrE,newE, ActiveModelE,ValidationMatcherE,HelpersE,@expected_messageE,@optionsE,@existing_record_createdE,@failure_reasonE,@failure_reason_when_negatedE,AttributeSettersE,@attribute_settersE, attributeE,core#hash_from_aryE,scopesE,flattenE,mapE,[]=E,[]E,==E, @attributeE, descriptionE,present?E, @given_recordE, @all_recordsE, UniquenessE, TestModelsE, given_recordE,#$!E, remove_allE,allE,matcherE,methodE,failure_message_preface=E, attribute_changed_value_message=E,argsE,tapE, @new_recordE, ValidationsE,UniquenessValidatorE, validatorE,is_a?E, _validatorsE,selectE,empty?E,any?E, to_sentenceE,xE,inspected_sets_of_scopesE,many?E,ArrayE,wrapE, validationE,optionsE,rejectE,!E,allows_value_ofE,disallows_value_ofE,@existing_recordE,recordE,firstE,saveE,errorE,StatementInvalidE,ExistingRecordInvalidE,raiseE,createE,valueE,!=E,StringE,non_blank_valueE,limitE,is_string_valueE,lengthE,yYyyyyyyy,z8zZzfzzzz{({4{a{{{{{{ ||+|P|w||||||};}m}}}}}#~/~g~~~~~LXdTi~ŀ ,8Djvׁ5AM(\ht؃!-Q~ф +dЅ Q 7Cnz%1gs&2ȉԉ*]&iË!-P\ȟ %Qƍҍ@LXԎ ;G|ď<HvĐАܐEQo{đ8Umے9So͓MĖݖ?[gAMY֘>J`lșԙ=gĚݚ 0j3NjѠ,Glס+Qnɢ #A`|ۣ0NeƤ)Hgĥ/Nc٦,Adȧ6_xۨ:Ti~ة&Iiת-Qkث-Jiܬ,F_wӭ:OpѮ 2Uׯ -Fj۰ +Isܱ.To #@`y̳س$Kg