security = prepareMock( createObject("component","model.Security") );
//create a mock user object
mockUser = createEmptyMock("model.User");
describe( "A user", function(){
it( "can be authenticated", function(){
//mock user authorizations according to case calls
mockUser.$("isAuthorized").$results(true,false,false);
security.$("getUserSession", mockUser);
//case 1: authorized user
expect(security.userValidator()).toBeTrue();
//case 2: unauthorized user with invalid cookie
security.$("isSSOCookieValid",false);
expect( security.userValidator() ).toBeFalse();
//case 3: unauthorized user with valid cookie
security.$("isSSOCookieValid",true);
//mock the authorizeUser void call
security.$("authorizeUser");
expect( security.userValidator() ).toBeTrue();