Example #1
0
        public void If_User_Has_Permnission_To_Combine_With_Application_Model_Combination_Should_Occur()
        {
            ModelCombinePermission permission = null;
            Isolate.WhenCalled(() => SecuritySystem.IsGranted(null)).DoInstead(context =>
            {
                permission = context.Parameters[0] as ModelCombinePermission;
                return true;
            });
            var modelAspectObject = new ModelDifferenceObject(Session.DefaultSession){Model =DefaultDictionary,PersistentApplication = new PersistentApplication(Session.DefaultSession)};
            var queryModelAspectObject = Isolate.Fake.InstanceAndSwapAll<QueryModelDifferenceObject>();
            Isolate.WhenCalled(() => queryModelAspectObject.GetActiveModelDifference(  "")).WillReturn(modelAspectObject);
            var store = new XpoUserModelDictionaryDifferenceStore( Isolate.Fake.Instance<XafApplication>());
            var aspectObject = new UserModelDifferenceObject(Session.DefaultSession){
                                                                                        PersistentApplication = new PersistentApplication(Session.DefaultSession),
                                                                                        NonPersistent = true,
                                                                                        Model = DefaultDictionary2
                                                                                    };
            
            store.OnDifferenceObjectSaving(aspectObject, new Dictionary());


            Assert.IsNotNull(permission);
            Assert.AreEqual(ApplicationModelCombineModifier.Allow, permission.Modifier);
            Assert.IsFalse(modelAspectObject.IsNewObject);
            Assert.IsNotNull(new ApplicationNodeWrapper(modelAspectObject.Model).BOModel.FindClassByName("MyClass2"));
        }
Example #2
0
        public void When_Saving_It_Should_Combined_With_Application_Diffs(){
            Isolate.WhenCalled(() => Validator.RuleSet.ValidateAll(null, null)).ReturnRecursiveFake();
            var modelDictionaryDifferenceStore = new XpoUserModelDictionaryDifferenceStore( Isolate.Fake.Instance<XafApplication>());
            var modelDifferenceObject = new UserModelDifferenceObject(Session.DefaultSession){PersistentApplication = new PersistentApplication(Session.DefaultSession),Model = DefaultDictionary};

            modelDictionaryDifferenceStore.OnDifferenceObjectSaving(modelDifferenceObject, elDictionary);

            Assert.AreEqual("el", new ApplicationNodeWrapper(modelDifferenceObject.Model).BOModel.FindClassByName("MyClass").Caption);
        }
Example #3
0
        public void When_Initilize_Members_Name_Should_Initialize_Application(){
            Isolate.Fake.ISecurityComplex();
            var aspectObject = new UserModelDifferenceObject(Session.DefaultSession);

            aspectObject.InitializeMembers("name","");

            Assert.IsNotNull(aspectObject.PersistentApplication);
            Assert.AreEqual("name", aspectObject.PersistentApplication.Name);
        }
Example #4
0
        public void When_Initilize_Members_Name_Should_Contain_Current_User_Name()
        {
            Isolate.Fake.ISecurityComplex();
            var aspectObject = new UserModelDifferenceObject(Session.DefaultSession);
            ((User)SecuritySystem.CurrentUser).UserName = "******";

            aspectObject.InitializeMembers("", "");

            Assert.IsTrue(aspectObject.Name.IndexOf("UserName") > -1);
        }
Example #5
0
        public void Can_Be_Assign_Aspect_To_Current_User()
        {
            Isolate.Fake.ISecurityComplex();
            XafTypesInfo.Instance.RegisterEntity(typeof(UserModelDifferenceObject));
            UserDifferenceObjectBuilder.CreateDynamicMembers(null);


            var userAspectObject = new UserModelDifferenceObject(Session.DefaultSession);
            
            userAspectObject.AssignToCurrentUser();

            Assert.AreEqual(1, ((XPCollection) userAspectObject.GetMemberValue("Users")).Count);
        }
        private List<UserModelDifferenceObject> GetUserStoreObject()
        {
            var objects = new List<UserModelDifferenceObject>();
            var userStoreObject = new UserModelDifferenceObject(Session.DefaultSession) { PersistentApplication =new PersistentApplication(Session.DefaultSession) { UniqueName = "AppName" } };
            ((XPCollection)userStoreObject.GetMemberValue("Users")).Add(SecuritySystem.CurrentUser);
            userStoreObject.Save();
            objects.Add(userStoreObject);

            userStoreObject = new UserModelDifferenceObject(Session.DefaultSession) { PersistentApplication = new PersistentApplication(Session.DefaultSession) { UniqueName = "AppName" } };
            ((XPCollection)userStoreObject.GetMemberValue("Users")).Add(SecuritySystem.CurrentUser);
            userStoreObject.Save();
            objects.Add(userStoreObject);
            return objects;
        }
        public void As_Active_UserDifference_Will_Return_Active_UserDifferenceObject()
        {

            var store = new XpoUserModelDictionaryDifferenceStore( Isolate.Fake.Instance<XafApplication>());
            Isolate.Fake.StaticMethods(typeof(UserDifferenceObjectBuilder));
            var userStoreObject = new UserModelDifferenceObject(Session.DefaultSession);


            var queryUserDifferenceObject = Isolate.Fake.InstanceAndSwapAll<QueryUserModelDifferenceObject>();
            Isolate.WhenCalled(() => queryUserDifferenceObject.GetActiveModelDifference("")).WillReturn(userStoreObject);

            ModelDifferenceObject modelDifferenceObject = store.GetActiveDifferenceObject();

            Assert.AreEqual(userStoreObject, modelDifferenceObject);
        }
Example #8
0
        public void if_AspectObject_Is_Not_Persistent_WillNot_be_saved(bool nonPersistent)
        {
            var store = new XpoUserModelDictionaryDifferenceStore(Isolate.Fake.Instance<XafApplication>());

            var modelStoreObject = new UserModelDifferenceObject(Session.DefaultSession){
                                                                                            PersistentApplication = new PersistentApplication(Session.DefaultSession),
                                                                                            NonPersistent = nonPersistent
                                                                                        };
            Isolate.WhenCalled(() => modelStoreObject.Save()).WillThrow(new NotImplementedException());
            Isolate.WhenCalled(() => store.GetActiveDifferenceObject()).WillReturn(modelStoreObject);
            var dictionary = new Dictionary(Schema.GetCommonSchema());
            Isolate.WhenCalled(() => dictionary.Aspects).WillReturn(new List<string> { "aspect" });
            Isolate.Fake.StaticMethods(typeof(Validator));

            store.SaveDifference(dictionary);
        }
        public void As_ActiveUserDifferences_Will_Return_A_Concat_Of_Active_UserDifferenceObjects_And_RoleDifferenceObjects()
        {
            var store = new XpoUserModelDictionaryDifferenceStore( Isolate.Fake.Instance<XafApplication>());
            var userDifferenceObject1 = new UserModelDifferenceObject(Session.DefaultSession);

            var queryUserDifferenceObject = Isolate.Fake.InstanceAndSwapAll<QueryUserModelDifferenceObject>();
            Isolate.WhenCalled(() => queryUserDifferenceObject.GetActiveModelDifferences("")).WillReturn(new List<UserModelDifferenceObject> { userDifferenceObject1 }.AsQueryable());
            var roleDifferenceObject = new RoleModelDifferenceObject(Session.DefaultSession);

            var queryRoleDifferenceObject = Isolate.Fake.InstanceAndSwapAll<QueryRoleModelDifferenceObject>();
            Isolate.WhenCalled(() => queryRoleDifferenceObject.GetActiveModelDifferences("")).WillReturn(new List<RoleModelDifferenceObject> { roleDifferenceObject }.AsQueryable());


            IQueryable<ModelDifferenceObject> queryable = store.GetActiveDifferenceObjects();

            Assert.AreEqual(2, queryable.Count());
            Assert.AreEqual(userDifferenceObject1, queryable.ToList()[1]);
            Assert.AreEqual(roleDifferenceObject, queryable.ToList()[0]);
        }
        public void Is_A_Combination_Of_All_Models_Assign_to_Current_User_For_Current_Aspect_And_Application()
        {
            var store = new XpoUserModelDictionaryDifferenceStore( Isolate.Fake.Instance<XafApplication>());



            var modelDifferenceObject = new UserModelDifferenceObject(Session.DefaultSession) { Model = DefaultDictionary, PersistentApplication = new PersistentApplication(Session.DefaultSession) { Model = PersistentAppDictionary } };
            Isolate.WhenCalled(() => store.GetActiveDifferenceObjects()).
                WillReturnCollectionValuesOf(new List<ModelDifferenceObject>{
                                                                          modelDifferenceObject,
                                                                          new UserModelDifferenceObject(Session.DefaultSession)
                                                                          {Model = DefaultDictionary2,PersistentApplication = new PersistentApplication(Session.DefaultSession){Model = new Dictionary(Schema.GetCommonSchema())}}
                                                                      }.AsQueryable());

            Dictionary dictionary = store.LoadDifference(Schema.GetCommonSchema());

            var wrapper = new ApplicationNodeWrapper(dictionary).BOModel;
            Assert.IsNotNull(wrapper.FindClassByName("MyClass"));
            Assert.IsNotNull(wrapper.FindClassByName("MyClass2"));
            
        }
 public static void SetUp(UserModelDifferenceObject userModelDifferenceObject)
 {
     userModelDifferenceObject.Name = string.Format("AutoCreated for {0} {1}", ((IAuthenticationStandardUser)SecuritySystem.CurrentUser).UserName, DateTime.Now);
 }
 protected internal override ModelDifferenceObject GetNewDifferenceObject(ObjectSpace session){
     var aspectObject = new UserModelDifferenceObject(ObjectSpace.Session);
     aspectObject.AssignToCurrentUser();
     return aspectObject;
 }
Example #13
0
        public void DifferenceType_Is_Model()
        {
            var o = new UserModelDifferenceObject(Session.DefaultSession);

            Assert.AreEqual(DifferenceType.User, o.DifferenceType);
        }