public void TestPersistWithNaturalMocking()
        {
            MockManager.Init();

            //Create User
            User user = new User();

            // Natural mocking
            using(RecordExpectations recorder = new RecordExpectations())
            {
                IUserGateway mockGateway = new UserGateway();
                IUserValidator mockValidator = new UserValidator();

                //Expectations
                recorder.ExpectAndReturn(mockValidator.Validate(user), true);
                recorder.ExpectAndReturn(mockGateway.Persist(user), true);
            }

            //Create instances
            IUserGateway gateway = new UserGateway();
            IUserValidator validator = new UserValidator();

            //Assign gateway
            user.Gateway = gateway;

            //Test method
            Assert.AreEqual(true, user.Persist(validator));

            MockManager.Verify();
        }
        private SPWeb RecordWebForUpdate()
        {
            SPWeb  web  = RecorderManager.CreateMockedObject <SPWeb>();
            SPList list = RecorderManager.CreateMockedObject <SPList>();
            SPListItemCollection itemCollection = RecorderManager.CreateMockedObject <SPListItemCollection>();
            SPListItem           item           = RecorderManager.CreateMockedObject <SPListItem>();

            using (RecordExpectations recorder = RecorderManager.StartRecording())
            {
                recorder.ExpectAndReturn(web.Lists["Registrations"], list).RepeatAlways();
                recorder.ExpectAndReturn(list.GetItems(new SPQuery()), itemCollection).RepeatAlways();
                recorder.ExpectAndReturn(itemCollection.Count, 1);
                recorder.ExpectAndReturn(itemCollection[0], item);
                item[new Guid(Fields.CourseId)] = 1;
                recorder.CheckArguments();
                item[new Guid(Fields.UserId)] = 1;
                recorder.CheckArguments();
                //recorder.ExpectAndReturn(web.AllowUnsafeUpdates, false);
                //web.AllowUnsafeUpdates = true;
                item.Update();
                //web.AllowUnsafeUpdates = false;
            }

            return(web);
        }
        private SPWeb CreateMockSPWeb(bool blank, bool validUser)
        {
            SPWeb web = RecorderManager.CreateMockedObject <SPWeb>();

            if (!blank)
            {
                SPUserCollection users = RecorderManager.CreateMockedObject <SPUserCollection>();

                if (validUser)
                {
                    SPUser user = RecorderManager.CreateMockedObject <SPUser>();

                    using (RecordExpectations recorder = RecorderManager.StartRecording())
                    {
                        recorder.ExpectAndReturn(web.SiteUsers.GetCollection(new string[] { }), users);
                        recorder.ExpectAndReturn(users.Count, 1);
                        recorder.ExpectAndReturn(users[0].LoginName, string.Format(@"{0}\{1}", Environment.MachineName, "spgemployee"));
                        recorder.ExpectAndReturn(users[0], user);
                        recorder.ExpectAndReturn(user.ID, 1).RepeatAlways();
                        recorder.ExpectAndReturn(user.Name, "SPG Employee").RepeatAlways();
                        recorder.ExpectAndReturn(user.LoginName, string.Format(@"{0}\{1}", Environment.MachineName, "spgemployee")).RepeatAlways();
                    }
                }
                else
                {
                    using (RecordExpectations recorder = RecorderManager.StartRecording())
                    {
                        recorder.ExpectAndReturn(web.SiteUsers.GetCollection(new string[] { }), users);
                        recorder.ExpectAndReturn(users.Count, 0);
                    }
                }
            }

            return(web);
        }
예제 #4
0
        private SPListItem RecordGetReturnSPListItem()
        {
            SPListItem item = RecorderManager.CreateMockedObject <SPListItem>();

            using (RecordExpectations recorder = RecorderManager.StartRecording())
            {
                recorder.ExpectAndReturn(item[new Guid(Fields.Id)], 1);
                recorder.ExpectAndReturn(item[new Guid(Fields.Title)], "TestTitle");
                recorder.ExpectAndReturn(item[new Guid(Fields.WorkflowItemId)], 5);
            }

            return(item);
        }
        private SPWeb RecordWebForGetAll()
        {
            SPWeb  web  = RecorderManager.CreateMockedObject <SPWeb>();
            SPList list = RecorderManager.CreateMockedObject <SPList>();
            SPListItemCollection itemCollection = RecorderManager.CreateMockedObject <SPListItemCollection>();

            using (RecordExpectations recorder = RecorderManager.StartRecording())
            {
                recorder.ExpectAndReturn(web.Lists["Registrations"], list).RepeatAlways();
                recorder.ExpectAndReturn(list.Items, itemCollection).RepeatAlways();
                recorder.ExpectAndReturn(itemCollection.Count, 2);
            }

            return(web);
        }
        private SPListItem RecordGetReturnSPListItem()
        {
            SPListItem item = RecorderManager.CreateMockedObject <SPListItem>();

            using (RecordExpectations recorder = RecorderManager.StartRecording())
            {
                recorder.ExpectAndReturn(item[new Guid(Fields.Id)], 1);
                recorder.ExpectAndReturn(item[new Guid(Fields.Title)], "UNITTEST");
                recorder.ExpectAndReturn(item[new Guid(Fields.CourseId)], 1);
                recorder.ExpectAndReturn(item[new Guid(Fields.UserId)], 1);
                recorder.ExpectAndReturn(item[new Guid(Fields.RegistrationStatus)], "Pending");
            }

            return(item);
        }
        private SPListItem CreateMockSPListItem(SPListItemMockType mockType, string status)
        {
            SPListItem listItem = RecorderManager.CreateMockedObject <SPListItem>();

            switch (mockType)
            {
            case SPListItemMockType.Populate:
                using (RecordExpectations recorder = RecorderManager.StartRecording())
                {
                    recorder.ExpectAndReturn(listItem.ID, 1);
                }
                break;

            case SPListItemMockType.StatusCheck:
                using (RecordExpectations recorder = RecorderManager.StartRecording())
                {
                    recorder.ExpectAndReturn(listItem[new Guid(Fields.RegistrationStatus)], status);
                }
                break;

            default:
                using (RecordExpectations recorder = RecorderManager.StartRecording())
                {
                    recorder.ExpectAndReturn(listItem.ID, 1);
                }
                break;
            }

            return(listItem);
        }
예제 #8
0
 public static void SPContextWeb()
 {
     using (RecordExpectations rec = new RecordExpectations())
     {
         SPWeb web = RecorderManager.CreateMockedObject <SPWeb>(Constructor.Mocked);
         rec.ExpectAndReturn(SPContext.Current.Web, web).RepeatAlways();
     }
 }
        private SPWeb CreateMockSPWeb(SPWebMockType mockType)
        {
            SPWeb  web     = RecorderManager.CreateMockedObject <SPWeb>();
            SPUser user    = RecorderManager.CreateMockedObject <SPUser>();
            SPUser manager = RecorderManager.CreateMockedObject <SPUser>();

            switch (mockType)
            {
            case SPWebMockType.UserAndManager:
                using (RecordExpectations recorder = RecorderManager.StartRecording())
                {
                    recorder.ExpectAndReturn(web.SiteUsers.GetByID(1), user);
                    recorder.ExpectAndReturn(user.LoginName, @"domain\alias").RepeatAlways();
                    recorder.ExpectAndReturn(web.SiteUsers[1], manager);
                    recorder.ExpectAndReturn(manager.LoginName, string.Format(@"{0}\{1}", Environment.MachineName, "spgmanager"));
                    recorder.ExpectAndReturn(user.Name, "TestUser").RepeatAlways();
                }
                break;

            case SPWebMockType.UserOnly:
                using (RecordExpectations recorder = RecorderManager.StartRecording())
                {
                    recorder.ExpectAndReturn(web.SiteUsers.GetByID(1), user);
                    recorder.ExpectAndReturn(user.LoginName, @"domain\alias").RepeatAlways();
                    recorder.ExpectAndReturn(user.Name, "TestUser").RepeatAlways();
                }
                break;

            default:
                using (RecordExpectations recorder = RecorderManager.StartRecording())
                {
                    recorder.ExpectAndReturn(web.SiteUsers.GetByID(1), user);
                    recorder.ExpectAndReturn(user.LoginName, @"domain\alias").RepeatAlways();
                    recorder.ExpectAndReturn(web.SiteUsers[1], manager);
                    recorder.ExpectAndReturn(manager.LoginName, string.Format(@"{0}\{1}", Environment.MachineName, "spgmanager"));
                    recorder.ExpectAndReturn(user.Name, "TestUser").RepeatAlways();
                }
                break;
            }

            return(web);
        }
예제 #10
0
        private SPWeb RecordGetFieldName()
        {
            SPWeb web = RecorderManager.CreateMockedObject <SPWeb>();

            using (RecordExpectations recorder = RecorderManager.StartRecording())
            {
                recorder.ExpectAndReturn(web.Lists[""].Fields[new Guid()].InternalName, "UnitTestField");
            }

            return(web);
        }
        private SPListItem RecordAddSPListItem()
        {
            SPListItem item = RecorderManager.CreateMockedObject <SPListItem>();

            using (RecordExpectations recorder = RecorderManager.StartRecording())
            {
                recorder.ExpectAndReturn(item[new Guid(Fields.Id)], 1);
            }

            return(item);
        }
        private SPWeb RecordUpdateReturnSPWeb()
        {
            SPWeb  web  = RecorderManager.CreateMockedObject <SPWeb>();
            SPUser user = RecorderManager.CreateMockedObject <SPUser>();

            using (RecordExpectations recorder = RecorderManager.StartRecording())
            {
                recorder.ExpectAndReturn(web.SiteUsers.GetByID(1), user);
            }

            return(web);
        }
예제 #13
0
        private SPWeb CreateMockSPWeb(bool blank)
        {
            SPWeb web = RecorderManager.CreateMockedObject <SPWeb>();

            using (RecordExpectations recorder = RecorderManager.StartRecording())
            {
                recorder.ExpectAndReturn(web.Url, "http://localhost/training");
            }

            if (!blank)
            {
                SPUser user = RecorderManager.CreateMockedObject <SPUser>();

                using (RecordExpectations recorder = RecorderManager.StartRecording())
                {
                    recorder.ExpectAndReturn(web.SiteUsers[string.Empty], user);
                    recorder.ExpectAndReturn(user.Name, @"domain\alias").RepeatAlways();
                    recorder.ExpectAndReturn(user.ID, 1).RepeatAlways();
                }
            }

            return(web);
        }
예제 #14
0
        private SPListItem RecordGetReturnSPListItem()
        {
            SPListItem item = RecorderManager.CreateMockedObject <SPListItem>();

            using (RecordExpectations recorder = RecorderManager.StartRecording())
            {
                recorder.ExpectAndReturn(item[new Guid(Fields.Id)], 1);
                recorder.ExpectAndReturn(item[new Guid(Fields.Title)], "TestTitle");
                recorder.ExpectAndReturn(item[new Guid(Fields.TrainingCourseCode)], "TestCode");
                recorder.ExpectAndReturn(item[new Guid(Fields.TrainingCourseDescription)], "TestDescription");
                recorder.ExpectAndReturn(item[new Guid(Fields.TrainingCourseEnrollmentDate)], DateTime.Today);
                recorder.ExpectAndReturn(item[new Guid(Fields.TrainingCourseStartDate)], DateTime.Today.AddDays(1));
                recorder.ExpectAndReturn(item[new Guid(Fields.TrainingCourseEndDate)], DateTime.Today.AddDays(2));
                recorder.ExpectAndReturn(item[new Guid(Fields.TrainingCourseCost)], 123f);
            }

            return(item);
        }