@@ -956,11 +956,16 @@ def expect_logger_msg(level, msg)
956956 let ( :cerner_eligible_cookie ) { 'CERNER_ELIGIBLE' }
957957 let ( :expected_log_message ) { '[SessionsController] Cerner Eligibility' }
958958 let ( :previous_value ) { nil }
959- let ( :expected_log_payload ) { { eligible :, previous_value :, cookie_action : :set , icn : user . icn } }
959+ let ( :cerner_limited ) { false }
960+ let ( :expected_log_payload ) do
961+ { eligible :, previous_value :, cookie_action : :set , icn : user . icn , cerner_limited : }
962+ end
960963
961964 before do
962965 SAMLRequestTracker . create ( uuid : login_uuid , payload : { type : 'idme' , application : 'some-applicaton' } )
963966 allow ( Rails . logger ) . to receive ( :info )
967+ allow ( IdentitySettings . sign_in ) . to receive ( :info_cookie_domain ) . and_return ( 'some-domain' )
968+ allow_any_instance_of ( User ) . to receive ( :cerner_limited? ) . and_return ( cerner_limited )
964969 end
965970
966971 context 'when the cerner eligible cookie is not present' do
@@ -971,12 +976,28 @@ def expect_logger_msg(level, msg)
971976 context 'when the user is cerner eligible' do
972977 let ( :eligible ) { true }
973978
974- it 'sets the cookie and logs the cerner eligibility ' do
975- call_endpoint
979+ context ' and user is cerner_limited ' do
980+ let ( :cerner_limited ) { true }
976981
977- expect ( response . headers [ 'set-cookie' ] ) . to include ( 'domain=some-domain' )
978- expect ( cookies [ cerner_eligible_cookie ] ) . to eq ( eligible . to_s )
979- expect ( Rails . logger ) . to have_received ( :info ) . with ( expected_log_message , expected_log_payload )
982+ it 'sets the cookie and logs the cerner eligibility' do
983+ call_endpoint
984+
985+ expect ( response . headers [ 'set-cookie' ] ) . to include ( 'domain=some-domain' )
986+ expect ( cookies [ cerner_eligible_cookie ] ) . to eq ( eligible . to_s )
987+ expect ( Rails . logger ) . to have_received ( :info ) . with ( expected_log_message , expected_log_payload )
988+ end
989+ end
990+
991+ context 'and user is not cerner_limited' do
992+ let ( :cerner_limited ) { false }
993+
994+ it 'sets the cookie and logs the cerner eligibility' do
995+ call_endpoint
996+
997+ expect ( response . headers [ 'set-cookie' ] ) . to include ( 'domain=some-domain' )
998+ expect ( cookies [ cerner_eligible_cookie ] ) . to eq ( eligible . to_s )
999+ expect ( Rails . logger ) . to have_received ( :info ) . with ( expected_log_message , expected_log_payload )
1000+ end
9801001 end
9811002 end
9821003
@@ -1001,10 +1022,22 @@ def expect_logger_msg(level, msg)
10011022 cookies [ cerner_eligible_cookie ] = true
10021023 end
10031024
1004- it 'logs the cerner eligibility with the previous value ' do
1005- call_endpoint
1025+ context 'and user is cerner_limited ' do
1026+ let ( :cerner_limited ) { true }
10061027
1007- expect ( Rails . logger ) . to have_received ( :info ) . with ( expected_log_message , expected_log_payload )
1028+ it 'logs the cerner eligibility with the previous value' do
1029+ call_endpoint
1030+
1031+ expect ( Rails . logger ) . to have_received ( :info ) . with ( expected_log_message , expected_log_payload )
1032+ end
1033+ end
1034+
1035+ context 'and user is not cerner_limited' do
1036+ it 'logs the cerner eligibility with the previous value' do
1037+ call_endpoint
1038+
1039+ expect ( Rails . logger ) . to have_received ( :info ) . with ( expected_log_message , expected_log_payload )
1040+ end
10081041 end
10091042 end
10101043
0 commit comments