public void Create_AutoMappedClass_CreatesANewItem()
        {
            //Assign
            string parentPath = "/sitecore/content/Tests/SitecoreService/Create";
            string childPath = "/sitecore/content/Tests/SitecoreService/Create/newChildAutoMapped";

            var db = Sitecore.Configuration.Factory.GetDatabase("master");
            var context = Context.Create(Utilities.CreateStandardResolver());
            context.Load(new SitecoreAttributeConfigurationLoader("Glass.Mapper.Sc.Integration"));
            var service = new SitecoreService(db);

            using (new SecurityDisabler())
            {
                var parentItem = db.GetItem(parentPath);
                parentItem.DeleteChildren();
            }

            var parent = service.GetItem<StubClassAutoMapped>(parentPath);

            var child = new StubClassAutoMapped();
            child.Name = "newChildAutoMapped";

            //Act
            using (new SecurityDisabler())
            {
                service.Create(parent, child);
            }

            //Assert
            var newItem = db.GetItem(childPath);

            using (new SecurityDisabler())
            {
                newItem.Delete();
            }

            Assert.AreEqual(child.Name, newItem.Name);
            Assert.AreEqual(child.Id, newItem.ID.Guid);
        }
        public void Create_AutoMappedClass_CreatesANewItem()
        {
            //Assign
            using (Db database = new Db
            {
                new Sitecore.FakeDb.DbItem("Target"),
            })
            {
                var context = Context.Create(Utilities.CreateStandardResolver());
                context.Load(new OnDemandLoader<SitecoreTypeConfiguration>(typeof(StubClassAutoMapped)));
                var service = new SitecoreService(database.Database);

                string parentPath = "/sitecore/content/Target";
                string childPath = "/sitecore/content/Target/newChildAutoMapped";

                using (new SecurityDisabler())
                {
                    var parentItem = database.GetItem(parentPath);
                    parentItem.DeleteChildren();
                }

                var parent = service.GetItem<StubClassAutoMapped>(parentPath);

                var child = new StubClassAutoMapped();
                child.Name = "newChildAutoMapped";

                //Act
                using (new SecurityDisabler())
                {
                    service.Create(parent, child);
                }

                //Assert
                var newItem = database.GetItem(childPath);

                using (new SecurityDisabler())
                {
                    newItem.Delete();
                }

                Assert.AreEqual(child.Name, newItem.Name);
                Assert.AreEqual(child.Id, newItem.ID.Guid);
            }
        }