public void ResolveItem()
        {
            //Arrange 

            using (Db database = new Db
            {
                new Sitecore.FakeDb.DbItem("TestItem")
            })
            {
                var config = new SitecoreTypeConfiguration();
                config.ItemUriConfig = new SitecoreInfoConfiguration();
                config.ItemUriConfig.PropertyInfo = typeof(StubClass).GetProperty("ItemUri");

                string path = "/sitecore/content/TestItem";
                var expected = database.GetItem(path);

                var instance = new StubClass();
                instance.ItemUri = new ItemUri(expected.ID, expected.Language, expected.Version, expected.Database);

                //Act
                var result = config.ResolveItem(instance, database.Database);

                //Assert
                Assert.AreEqual(expected.ID, result.ID);
                Assert.AreEqual(expected.Version, result.Version);
                Assert.AreEqual(expected.Language, result.Language);
            }

        }
        public void ResolveItem()
        {
            //Arrange 

            var config = new SitecoreTypeConfiguration();
            config.ItemUriConfig = new SitecoreInfoConfiguration();
            config.ItemUriConfig.PropertyInfo = typeof(StubClass).GetProperty("ItemUri");
            
            //TODO get a proper items
            string path = "/sitecore/content/Tests/DataMappers/SitecoreItemMapper/Target";
            var database = Factory.GetDatabase("master");
            var expected = database.GetItem(path);

            var instance = new StubClass();
            instance.ItemUri = new ItemUri(expected.ID, expected.Language, expected.Version, expected.Database);


            //Act
            var result = config.ResolveItem(instance, database);

            //Assert
            Assert.AreEqual(expected.ID, result.ID);
            Assert.AreEqual(expected.Version, result.Version);
            Assert.AreEqual(expected.Language, result.Language);


        }
        public void MapCmsToProperty_DoesNotAlterObject()
        {
            //Assign
            var fieldValue = "hello world";
            var propertyValue = "goodbye world";

            var item = Database.GetItem("/sitecore/content/Tests/DataMappers/SitecoreIgnoreMapper/Target");
            var field = item.Fields["Field"];

            var mapper = new SitecoreIgnoreMapper();
            var config = new SitecoreIgnoreMapper();

            using (new ItemEditing(item, true))
            {
                field.Value = fieldValue;
            }

            var stub = new StubClass();
            stub.Field = propertyValue;
            var context = new SitecoreDataMappingContext(stub, item, null);

            //Act
            mapper.MapCmsToProperty(context);


            //Assert
            Assert.AreEqual(stub.Field, propertyValue);
        }
Example #4
0
 public void To_Equal()
 {
   Expect(156231561).To.Equal(156231561);
   Expect(@"I'm a string!").To.Equal(@"I'm a string!");
   var testValue = new StubClass();
   Expect(testValue).To.Equal(testValue);
 }
 public void CanValidate()
 {
     var stub = new StubClass {Description = "test"};
     try {
         Engine.Validate(stub);
     } catch (ValidationEngineException ex) {
         Assert.That(ex.Errors.Count(), Is.EqualTo(3));
     }
 }
		public void BindValue_When_invalid_string_is_passed_Then_throws_exception()
		{
			var stubClass = new StubClass { Property = new Date(2015, 1, 3) };
			var stubClassType = typeof(StubClass);
			var datePropertyInfo = stubClassType.GetProperty("Property");
			var binder = new DateValueBinder(stubClass, datePropertyInfo);

			var updatedValue = "asdsdf";

			Assert.Throws<ParameterBindingException>(() => binder.BindValue(updatedValue));
		}
Example #7
0
            public void ReferenceTypes()
            {
                var testValue = new StubClass();
                var testState = new AssertionState<StubClass>(() => testValue){ IsNegated = true };

                var exPass = Record.Exception(() => _subject.Assert(testState, typeof(NotStubClass)));
                var exFail = Record.Exception(() => _subject.Assert(testState, typeof(StubClass)));

                Assert.Null(exPass);
                Assert.NotNull(exFail);
            }
		public void BindValue_When_null_is_passed_and_original_value_is_null_Then_leaves_property_value_as_null()
		{
			var stubClass = new StubClass();
			var stubClassType = typeof(StubClass);
			var stringPropertyInfo = stubClassType.GetProperty("Property");
			var binder = new DateValueBinder(stubClass, stringPropertyInfo);

			binder.BindValue(null);

			Assert.Null(stubClass.Property);
		}
		public void BindValue_When_value_is_passed_and_original_value_is_null_Then_sets_property_value()
		{
			var stubClass = new StubClass();
			var stubClassType = typeof(StubClass);
			var stringPropertyInfo = stubClassType.GetProperty("Property");
			var binder = new StringValueBinder(stubClass, stringPropertyInfo);

			var someValue = "Some Value";
			binder.BindValue(someValue);

			Assert.Equal(someValue, stubClass.Property);
		}
		public void BindValue_When_value_is_passed_and_original_value_is_not_empty_Then_updates_property_value()
		{
			var stubClass = new StubClass { Property = new Date(2015, 1, 3) };
			var stubClassType = typeof(StubClass);
			var datePropertyInfo = stubClassType.GetProperty("Property");
			var binder = new DateValueBinder(stubClass, datePropertyInfo);

			var updatedValue = "2015-10-09";
			binder.BindValue(updatedValue);

			Assert.Equal(new Date(2015, 10, 9), stubClass.Property);
		}
		public void BindValue_When_value_is_passed_and_original_value_is_not_empty_Then_updates_property_value()
		{
			var stubClass = new StubClass { Property = "test" };
			var stubClassType = typeof(StubClass);
			var stringPropertyInfo = stubClassType.GetProperty("Property");
			var binder = new StringValueBinder(stubClass, stringPropertyInfo);

			var updatedValue = "Some Value";
			binder.BindValue(updatedValue);

			Assert.Equal(updatedValue, stubClass.Property);
		}
		public void BindValue_When_value_is_passed_and_original_value_is_null_Then_sets_property_value()
		{
			var stubClass = new StubClass();
			var stubClassType = typeof(StubClass);
			var datePropertyInfo = stubClassType.GetProperty("Property");
			var binder = new DateValueBinder(stubClass, datePropertyInfo);

			var someValue = "2015-10-09";
			binder.BindValue(someValue);

			Assert.Equal(new Date(2015, 10, 9), stubClass.Property);
		}
        public void Model_returns_from_context_item_successfully()
        {
            // Arrange
            var testHarness = new GlassUserControlTestHarness();
            StubClass expected = new StubClass();
            testHarness.SitecoreContext.GetCurrentItem<StubClass>().Returns(expected);

            // Act
            var result = testHarness.GlassUserControl.Model;

            // Assert
            result.Should().Be(expected);
        }
Example #14
0
        public void MapToProperty_MapsItemToProperty()
        {
            //Arrange
            var database = Sitecore.Configuration.Factory.GetDatabase("master");
            var item     = database.GetItem("/sitecore/content/Tests/DataMappers/SitecoreItemMapper/Target");
            var mapper   = new SitecoreItemMapper();
            var obj      = new StubClass();

            var mappingContext = new SitecoreDataMappingContext(obj, item, null);

            //Act
            var result = mapper.MapToProperty(mappingContext);

            //Assign
            Assert.AreEqual(item, result);
        }
        public void GetLayoutItem_returns_data_source_successfully()
        {
            // Arrange
            var testHarness = new GlassUserControlTestHarness();

            testHarness.RenderingContext.GetDataSource().Returns("fred");
            StubClass expected = new StubClass();

            testHarness.SitecoreContext.GetItem <StubClass>("fred").Returns(expected);

            // Act
            var result = testHarness.GlassUserControl.GetLayoutItem <StubClass>();

            // Assert
            result.Should().Be(expected);
        }
        public void Model_returns_from_data_source_successfully()
        {
            // Arrange
            var       testHarness  = new GlassUserControlTestHarness();
            StubClass expected     = new StubClass();
            string    dataSourceId = Guid.NewGuid().ToString();

            testHarness.RenderingContext.GetDataSource().Returns(dataSourceId);
            testHarness.SitecoreContext.GetItem <StubClass>(dataSourceId, testHarness.GlassUserControl.IsLazy, testHarness.GlassUserControl.InferType).Returns(expected);

            // Act
            var result = testHarness.GlassUserControl.Model;

            // Assert
            result.Should().Be(expected);
        }
		public void BindValue_When_value_is_passed_and_original_value_is_null_Then_sets_property_value()
		{
			var stubClass = new StubClass();
			var stubClassType = typeof(StubClass);
			var arrayPropertyInfo = stubClassType.GetProperty("Property");
			var binder = new StringArrayValueBinder(stubClass, arrayPropertyInfo);

			var someValue = "values;1;3;";
			binder.BindValue(someValue);

			Assert.Equal(4, stubClass.Property.Length);
			foreach (var str in someValue.Split(';'))
			{
				Assert.Contains(str, stubClass.Property);
			}
		}
        public void Model_returns_from_data_source_successfully()
        {
            // Arrange
            var testHarness = new GlassUserControlTestHarness();
            StubClass expected = new StubClass();
            string dataSourceId = Guid.NewGuid().ToString();

            testHarness.RenderingContext.GetDataSource().Returns(dataSourceId);
            testHarness.SitecoreContext.GetItem<StubClass>(dataSourceId, testHarness.GlassUserControl.IsLazy, testHarness.GlassUserControl.InferType).Returns(expected);

            // Act
            var result = testHarness.GlassUserControl.Model;

            // Assert
            result.Should().Be(expected);
        }
Example #19
0
        public void GlassController_can_set_and_get_rendering_parameters()
        {
            // Arrange
            StubClass    classToReturn       = new StubClass();
            var          testHarness         = new GlassControllerTestHarness();
            const string renderingParameters = "p=1&r=2";

            testHarness.RenderingContextWrapper.GetRenderingParameters().Returns(renderingParameters);
            testHarness.GlassHtml.GetRenderingParameters <StubClass>(renderingParameters).Returns(classToReturn);

            // Act
            var result = testHarness.GlassController.GetRenderingParameters <StubClass>();

            // Assert
            result.Should().Be(classToReturn);
        }
		public void BindValue_When_value_is_passed_and_original_value_is_not_empty_Then_updates_property_value()
		{
			var stubClass = new StubClass { Property = new[] { "test", "second" } };
			var stubClassType = typeof(StubClass);
			var arrayPropertyInfo = stubClassType.GetProperty("Property");
			var binder = new StringArrayValueBinder(stubClass, arrayPropertyInfo);

			var updatedValue = "values;1;3;";
			binder.BindValue(updatedValue);

			Assert.Equal(4, stubClass.Property.Length);
			foreach (var str in updatedValue.Split(';'))
			{
				Assert.Contains(str, stubClass.Property);
			}
		}
Example #21
0
        public void MapPropertyToCms_DoesNotAlterObject()
        {
            //Assign
            string targetPath = "/sitecore/content/target";

            var templateId = ID.NewID;

            using (Db database = new Db
            {
                new DbTemplate(templateId)
                {
                    new DbField("Field")
                    {
                        Type = "text"
                    }
                },
                new Sitecore.FakeDb.DbItem("Target", ID.NewID, templateId)
                {
                    { "Field", "" }
                }
            }) {
                var fieldValue    = "hello world";
                var propertyValue = "goodbye world";

                var item  = database.GetItem(targetPath);
                var field = item.Fields["Field"];

                var mapper = new SitecoreIgnoreMapper();
                var config = new SitecoreIgnoreMapper();

                using (new ItemEditing(item, true))
                {
                    field.Value = fieldValue;
                }

                var stub = new StubClass();
                stub.Field = propertyValue;
                var context = new SitecoreDataMappingContext(stub, item, null);

                //Act
                mapper.MapPropertyToCms(context);


                //Assert
                Assert.AreEqual(fieldValue, item.Fields["Field"].Value);
            }
        }
        public void ReadJson_DeserializesPrivateFields()
        {
            // Arrange
            int    testField1Value = 1;
            string testField2Value = "testField2Value";
            bool?  testField3Value = true;

            string json = $"{{\"_stubField1\":{testField1Value},\"_stubField2\":\"{testField2Value}\",\"_stubField3\":{testField3Value.ToString().ToLowerInvariant()}}}";

            // Act
            StubClass result = JsonConvert.DeserializeObject <StubClass>(json, new PrivateFieldsJsonConverter());

            // Assert
            Assert.Equal(testField1Value, result.StubProperty1);
            Assert.Equal(testField2Value, result.StubProperty2);
            Assert.Equal(testField3Value, result.StubProperty3);
        }
        public void MapToProperty_MapsItemToProperty()
        {
            //Arrange
            var database = Sitecore.Configuration.Factory.GetDatabase("master");
            var item = database.GetItem("/sitecore/content/Tests/DataMappers/SitecoreItemMapper/Target");
            var mapper = new SitecoreItemMapper();
            var obj = new StubClass();

            var mappingContext = new SitecoreDataMappingContext(obj, item, null);
            
            //Act
           var result = mapper.MapToProperty(mappingContext);
            
            //Assign
            Assert.AreEqual(item, result);

        }
Example #24
0
        public void WriteXML(XmlTextWriter Writer)
        {
            var _with1 = Writer;

            foreach (ListViewItem lvi in ListView1.Items)
            {
                TemplateParameters tp = (TemplateParameters)lvi.Tag;
                _with1.WriteAttributeString(Prefix + tp.StorageKey, lvi.Checked.ToString());
            }

            _with1.WriteAttributeString(Prefix + conStubClassParm, StubClass.ToString());

            if (AutoStubCheckBox.Enabled)
            {
                _with1.WriteAttributeString(Prefix + conAutoStubParm, AutoStub.ToString());
            }
        }
Example #25
0
        public void RenderingParameters_returns_from_glass_html_successfully()
        {
            // Arrange
            var          testHarness         = new GlassUserControlTestHarness();
            const string renderingParameters = "rendering";

            testHarness.RenderingContext.GetRenderingParameters().Returns(renderingParameters);
            StubClass expected = new StubClass();

            testHarness.GlassHtml.GetRenderingParameters <StubClass>(renderingParameters).Returns(expected);

            // Act
            var result = testHarness.GlassUserControl.GetRenderingParameters <StubClass>();

            // Assert
            result.Should().Be(expected);
        }
        public void GlassController_can_set_and_get_datasource()
        {
            // Arrange
            ID        expectedId    = new ID(Guid.NewGuid());
            StubClass classToReturn = new StubClass();
            var       testHarness   = new GlassControllerTestHarness();

            testHarness.RenderingContextWrapper.HasDataSource.Returns(true);
            testHarness.RenderingContextWrapper.GetDataSource().Returns(expectedId.ToString());
            testHarness.SitecoreContext.GetItem <StubClass>(expectedId.ToString()).Returns(classToReturn);

            // Act
            var result = testHarness.GlassController.GetDataSourceItem <StubClass>();

            // Assert
            result.Should().Be(classToReturn);
        }
        public void GlassController_can_set_and_get_context()
        {
            // Arrange
            StubClass classToReturn = new StubClass();
            var       testHarness   = new SingleTypedGlassControllerTestHarness();

            testHarness.SitecoreContext.GetCurrentItem <StubClass>().Returns(classToReturn);

            // Act
            var result1 = testHarness.GlassController.Context;
            var result2 = testHarness.GlassController.Context;

            // Assert
            result1.Should().Be(classToReturn);
            result2.Should().BeSameAs(result1);
            testHarness.SitecoreContext.Received(1).GetCurrentItem <StubClass>();
        }
        public void Editable_returns_from_glass_html_successfully()
        {
            // Arrange
            var testHarness = new GlassUserControlTestHarness();
            const string expected = "field value";
            StubClass expectedStub = new StubClass();
            testHarness.SitecoreContext.GetCurrentItem<StubClass>().Returns(expectedStub);

            Expression<Func<StubClass, object>> fieldExpression = x => x.Field;
            testHarness.GlassHtml.Editable(testHarness.GlassUserControl.Model, fieldExpression, null as object).Returns(expected);

            // Act
            var result = testHarness.GlassUserControl.Editable(fieldExpression);

            // Assert
            result.Should().Be(expected);
        }
Example #29
0
        public void ShouldSetResultToErrorWithErrorMessage()
        {
            //Arange
            int     called = 0;
            IResult result = new Result();
            Action  act    = () => { throw new Exception(); };

            this.saver.Setup(x => x.Save()).Callback(() => { called++; });
            StubClass sut = new StubClass(movies.Object, genresRepo.Object, commentsRepo.Object, userRepo.Object, likesRepo.Object, dislikesRepo.Object, saver.Object);

            //Act
            sut.SaveChange(act, ref result);

            //Assert
            Assert.AreEqual(called, 0);
            Assert.AreEqual(result.ResulType, ResultType.Error);
            Assert.AreEqual(result.ErrorMsg, Constants.ErorsDict[ResultType.Error]);
        }
Example #30
0
        public void GlassController_can_set_and_get_context()
        {
            // Arrange
            StubClass classToReturn = new StubClass();
            var       testHarness   = new SingleTypedGlassControllerTestHarness();

            testHarness.MvcContext.GetContextItem <StubClass>(Arg.Any <GetKnownOptions>()).Returns(classToReturn);


            // Act
            var result1 = testHarness.GlassController.GetContext <StubClass>();
            var result2 = testHarness.GlassController.GetContext <StubClass>();

            // Assert
            result1.Should().Be(classToReturn);
            result2.Should().BeSameAs(result1);
            testHarness.MvcContext.Received(2).GetContextItem <StubClass>(Arg.Any <GetKnownOptions>());
        }
        public void GlassController_can_set_and_get_layout_item_from_context()
        {
            // Arrange
            StubClass classToReturn = new StubClass();
            var       testHarness   = new SingleTypedGlassControllerTestHarness();

            testHarness.RenderingContextWrapper.HasDataSource.Returns(false);
            testHarness.SitecoreContext.GetCurrentItem <StubClass>().Returns(classToReturn);

            // Act
            var result1 = testHarness.GlassController.Layout;
            var result2 = testHarness.GlassController.Layout;

            // Assert
            result1.Should().Be(classToReturn);
            result2.Should().BeSameAs(result1);
            testHarness.SitecoreContext.Received(1).GetCurrentItem <StubClass>();
        }
Example #32
0
        public void IoC_CanUpdateInstanceLikeSingleton()
        {
            var instance_1 = new StubClass {
                StubProperty = "property of instance 1"
            };
            var instance_2 = new StubClass {
                StubProperty = "property of instance 2"
            };

            IoC.Container.AddOrUpdate(instance_1);
            IoC.Container.AddOrUpdate(instance_2);

            Assert.IsNotNull(IoC.Container);
            Assert.IsTrue(IoC.Container.Instances.ContainsKey(typeof(StubClass)));
            Assert.ReferenceEquals(instance_2, IoC.Container.Get <StubClass>());
            Assert.AreEqual("property of instance 2", IoC.Container.Get <StubClass>().StubProperty);
            Assert.AreEqual(1, IoC.Container.Instances.Count);
        }
Example #33
0
        public void GlassController_can_set_and_get_layout_item_from_datasource()
        {
            // Arrange
            ID        expectedId    = new ID(Guid.NewGuid());
            StubClass classToReturn = new StubClass();
            var       testHarness   = new SingleTypedGlassControllerTestHarness();

            testHarness.MvcContext.HasDataSource.Returns(true);
            testHarness.MvcContext.GetDataSourceItem <StubClass>(Arg.Any <GetKnownOptions>()).Returns(classToReturn);

            // Act
            var result1 = testHarness.GlassController.GetLayout <StubClass>();
            var result2 = testHarness.GlassController.GetLayout <StubClass>();

            // Assert
            result1.Should().Be(classToReturn);
            result2.Should().BeSameAs(result1);
            testHarness.MvcContext.Received(2).GetDataSourceItem <StubClass>(Arg.Any <GetKnownOptions>());
        }
        public void Editable_returns_from_glass_html_successfully()
        {
            // Arrange
            var          testHarness  = new GlassUserControlTestHarness();
            const string expected     = "field value";
            StubClass    expectedStub = new StubClass();

            testHarness.SitecoreContext.GetCurrentItem <StubClass>().Returns(expectedStub);

            Expression <Func <StubClass, object> > fieldExpression = x => x.Field;

            testHarness.GlassHtml.Editable(testHarness.GlassUserControl.Model, fieldExpression, null as object).Returns(expected);

            // Act
            var result = testHarness.GlassUserControl.Editable(fieldExpression);

            // Assert
            Assert.AreEqual(expected, result);
        }
Example #35
0
        public void RenderImage_returns_from_glass_html_successfully()
        {
            // Arrange
            var          testHarness  = new GlassUserControlTestHarness();
            const string expected     = "superimage";
            StubClass    expectedStub = new StubClass();

            testHarness.SitecoreContext.GetCurrentItem <StubClass>().Returns(expectedStub);

            Expression <Func <StubClass, object> > fieldExpression = x => x.GlassImage;

            testHarness.GlassHtml.RenderImage(testHarness.GlassUserControl.Model, fieldExpression, null, false, false).Returns(expected);

            // Act
            var result = testHarness.GlassUserControl.RenderImage(fieldExpression);

            // Assert
            result.Should().Be(expected);
        }
Example #36
0
        public void MapCmsToProperty_ValueFromCms_WritesToProperty()
        {
            //Assign
            var obj        = new StubClass();
            var config     = Substitute.For <AbstractPropertyConfiguration>();
            var dataMapper = new StubMapper();

            AbstractDataMappingContext context = Substitute.For <AbstractDataMappingContext>(obj);

            dataMapper.Setup(new DataMapperResolverArgs(null, config));
            config.PropertyInfo = typeof(StubClass).GetProperties().First(x => x.Name == "AProperty");

            //Act
            dataMapper.MapCmsToProperty(context);

            //Assert
            Assert.AreEqual("Hello world", obj.AProperty);
            Assert.AreEqual(context, dataMapper.MappingContext);
        }
        public void ReadJson_IfJsonIsMissingAFieldStoresItAndContinuesDeserializing()
        {
            // Arrange
            string testField2Value = "testField2Value";
            bool?  testField3Value = true;

            string json = $"{{\"_stubField2\":\"{testField2Value}\",\"_stubField3\":{testField3Value.ToString().ToLowerInvariant()}}}";

            PrivateFieldsJsonConverter converter = new PrivateFieldsJsonConverter();

            // Act
            StubClass result = JsonConvert.DeserializeObject <StubClass>(json, converter);

            // Assert
            Assert.Equal(1, converter.MissingFields.Count);
            Assert.Equal("_stubField1", converter.MissingFields[0].Name);
            Assert.Equal(testField2Value, result.StubProperty2);
            Assert.Equal(testField3Value, result.StubProperty3);
        }
Example #38
0
        public void ShouldCallSaveSaveIfEverythingOkAndNotChangeResult()
        {
            //Arange
            int     called      = 0;
            int     calledInner = 0;
            IResult result      = new Result();
            Action  act         = () => { calledInner++; };

            this.saver.Setup(x => x.Save()).Callback(() => { called++; });
            StubClass sut = new StubClass(movies.Object, genresRepo.Object, commentsRepo.Object, userRepo.Object, likesRepo.Object, dislikesRepo.Object, saver.Object);

            //Act
            sut.SaveChange(act, ref result);

            //Assert
            Assert.AreEqual(called, 1);
            Assert.AreEqual(calledInner, 1);
            Assert.AreEqual(result.ResulType, ResultType.Success);
        }
        public void GlassController_can_set_and_get_datasource()
        {
            // Arrange
            ID expectedId = new ID(Guid.NewGuid());
            StubClass classToReturn = new StubClass();
            var testHarness = new SingleTypedGlassControllerTestHarness();
            testHarness.RenderingContextWrapper.HasDataSource.Returns(true);
            testHarness.RenderingContextWrapper.GetDataSource().Returns(expectedId.ToString());
            testHarness.SitecoreContext.GetItem<StubClass>(expectedId.ToString()).Returns(classToReturn);

            // Act
            var result1 = testHarness.GlassController.DataSource;
            var result2 = testHarness.GlassController.DataSource;

            // Assert
            result1.Should().Be(classToReturn);
            result2.Should().BeSameAs(result1);
            testHarness.SitecoreContext.Received(1).GetItem<StubClass>(expectedId.ToString());
        }
        public void MapCmsToProperty_ValueFromCms_WritesToProperty()
        {
            //Assign
            var obj = new StubClass();
            var config = Substitute.For<AbstractPropertyConfiguration>();
            var  dataMapper = new StubMapper();

            AbstractDataMappingContext context = Substitute.For<AbstractDataMappingContext>(obj);
           dataMapper.Setup(new DataMapperResolverArgs(null, config));
            config.PropertyInfo = typeof(StubClass).GetProperties().First(x => x.Name == "AProperty");

            //Act
            dataMapper.MapCmsToProperty(context);

            //Assert
            Assert.AreEqual("Hello world", obj.AProperty);
            Assert.AreEqual(context, dataMapper.MappingContext);

        }
Example #41
0
        public void ShouldReturnErrorAndNullMovieIfMovieDoesntExist()
        {
            //Arange
            IResult result        = new Result();
            Movies  existingMovie = new Movies()
            {
                Name = "TestUser",
                Id   = Guid.NewGuid()
            };

            this.movies.Setup(x => x.GetById(It.IsAny <Guid>())).Returns((Movies)null);
            StubClass sut = new StubClass(movies.Object, genresRepo.Object, commentsRepo.Object, userRepo.Object, likesRepo.Object, dislikesRepo.Object, saver.Object);

            //Act
            var resultMovie = sut.GetMovie(existingMovie.Id, ref result);

            //Assert
            Assert.AreEqual(resultMovie, null);
            Assert.AreEqual(result.ResulType, ResultType.Error);
        }
        public void Editable_returns_from_glass_html_with_standard_output_successfully()
        {
            // Arrange
            var testHarness = new GlassUserControlTestHarness();
            const string expected = "field value";
            StubClass expectedStub = new StubClass();
            testHarness.SitecoreContext.GetCurrentItem<StubClass>().Returns(expectedStub);

            Expression<Func<StubClass, object>> fieldExpression = x => x.Field;
            Expression<Func<StubClass, string>> defaultExpression = x => "fred";

            testHarness.GlassHtml.Editable(testHarness.GlassUserControl.Model, fieldExpression, defaultExpression, null).Returns(expected);

            // Act
            var result = testHarness.GlassUserControl.Editable(fieldExpression, defaultExpression);

            // Assert
            Assert.AreEqual(expected, result);

        }
Example #43
0
        public void ShouldReturnExistingMovieIfThereIsOneWithSameUserNameInBase()
        {
            //Arange
            IResult result        = new Result();
            Movies  existingMovie = new Movies()
            {
                Name = "TestUser",
                Id   = Guid.NewGuid()
            };

            this.movies.Setup(x => x.GetById(It.IsAny <Guid>())).Returns(existingMovie);
            StubClass sut = new StubClass(movies.Object, genresRepo.Object, commentsRepo.Object, userRepo.Object, likesRepo.Object, dislikesRepo.Object, saver.Object);

            //Act
            var resultMovie = sut.GetMovie(existingMovie.Id, ref result);

            //Assert
            Assert.AreEqual(resultMovie.Id, existingMovie.Id);
            Assert.AreEqual(result.ResulType, ResultType.Success);
        }
Example #44
0
        public void Editable_returns_from_glass_html_with_standard_output_successfully()
        {
            // Arrange
            var          testHarness  = new GlassUserControlTestHarness();
            const string expected     = "field value";
            StubClass    expectedStub = new StubClass();

            testHarness.SitecoreContext.GetCurrentItem <StubClass>().Returns(expectedStub);

            Expression <Func <StubClass, object> > fieldExpression   = x => x.Field;
            Expression <Func <StubClass, string> > defaultExpression = x => "fred";

            testHarness.GlassHtml.Editable(testHarness.GlassUserControl.Model, fieldExpression, defaultExpression, null).Returns(expected);

            // Act
            var result = testHarness.GlassUserControl.Editable(fieldExpression, defaultExpression);

            // Assert
            result.Should().Be(expected);
        }
Example #45
0
        public void ShouldAddNewElemetnsToInitialIfDoesntAlreadyExist()
        {
            //Arange
            ICollection <Genres> initial = new List <Genres>();
            ICollection <Genres> newColl = new List <Genres>();
            Genres genreToTest           = new Genres()
            {
                Name = "TestGenre"
            };

            newColl.Add(genreToTest);
            this.genresRepo.Setup(x => x.AllNotDeleted()).Returns(new List <Genres>().AsQueryable());
            StubClass sut = new StubClass(movies.Object, genresRepo.Object, commentsRepo.Object, userRepo.Object, likesRepo.Object, dislikesRepo.Object, saver.Object);

            //Act
            sut.UpdateGenresCollection(initial, newColl);

            //Assert
            Assert.IsTrue(initial.Contains(genreToTest));
        }
        public void GlassController_can_set_and_get_layout_item_from_datasource()
        {
            // Arrange
            ID        expectedId    = new ID(Guid.NewGuid());
            StubClass classToReturn = new StubClass();
            var       testHarness   = new SingleTypedGlassControllerTestHarness();

            testHarness.RenderingContextWrapper.HasDataSource.Returns(true);
            testHarness.RenderingContextWrapper.GetDataSource().Returns(expectedId.ToString());
            testHarness.SitecoreContext.GetItem <StubClass>(expectedId.ToString()).Returns(classToReturn);

            // Act
            var result1 = testHarness.GlassController.Layout;
            var result2 = testHarness.GlassController.Layout;

            // Assert
            result1.Should().Be(classToReturn);
            result2.Should().BeSameAs(result1);
            testHarness.SitecoreContext.Received(1).GetItem <StubClass>(expectedId.ToString());
        }
Example #47
0
        public void ShouldRemoveDeletedGenresFromInitial()
        {
            //Arange
            ICollection <Genres> initial = new List <Genres>();
            Genres genreToDel            = new Genres()
            {
                Name = "toDelete",
                Id   = Guid.NewGuid()
            };

            initial.Add(genreToDel);

            ICollection <Genres> newColl = new List <Genres>();
            Genres genreToTest           = new Genres()
            {
                Name = "TestGenre",
                Id   = Guid.NewGuid()
            };

            newColl.Add(genreToTest);

            ICollection <Genres> exist = new List <Genres>();
            Genres existGenre          = new Genres()
            {
                Name = "TestGenre",
                Id   = Guid.NewGuid()
            };

            exist.Add(existGenre);


            this.genresRepo.Setup(x => x.AllNotDeleted()).Returns(exist.AsQueryable());
            StubClass sut = new StubClass(movies.Object, genresRepo.Object, commentsRepo.Object, userRepo.Object, likesRepo.Object, dislikesRepo.Object, saver.Object);

            //Act
            sut.UpdateGenresCollection(initial, newColl);

            //Assert
            Assert.IsFalse(initial.Select(x => x.Id).Contains(genreToDel.Id));
        }
Example #48
0
        public void ShouldReturnExistingUserIfThereIsOneWithSameUserNameInBase()
        {
            //Arange
            IResult             result   = new Result();
            ICollection <Users> existing = new List <Users>();
            Users existingUser           = new Users()
            {
                UserName = "******",
                Id       = Guid.NewGuid().ToString()
            };

            existing.Add(existingUser);
            this.userRepo.Setup(x => x.All()).Returns(existing.AsQueryable());
            StubClass sut = new StubClass(movies.Object, genresRepo.Object, commentsRepo.Object, userRepo.Object, likesRepo.Object, dislikesRepo.Object, saver.Object);

            //Act
            var resultUser = sut.GetCurrentUser("TestUser", ref result);

            //Assert
            Assert.AreEqual(resultUser.Id, existingUser.Id);
            Assert.AreEqual(result.ResulType, ResultType.Success);
        }
Example #49
0
        public void ShouldReturnErrorResultandNullForUserIfNoSuchUserExists()
        {
            //Arange
            IResult             result   = new Result();
            ICollection <Users> existing = new List <Users>();
            Users existingUser           = new Users()
            {
                UserName = "******",
                Id       = Guid.NewGuid().ToString()
            };

            existing.Add(existingUser);
            this.userRepo.Setup(x => x.All()).Returns(existing.AsQueryable());
            StubClass sut = new StubClass(movies.Object, genresRepo.Object, commentsRepo.Object, userRepo.Object, likesRepo.Object, dislikesRepo.Object, saver.Object);

            //Act
            var resultUser = sut.GetCurrentUser("Gosho", ref result);

            //Assert
            Assert.AreEqual(resultUser, null);
            Assert.AreEqual(result.ResulType, ResultType.DoesntExists);
        }
Example #50
0
        public void MapToProperty_MapsItemToProperty()
        {
            //Arrange

            using (Db database = new Db
            {
                new Sitecore.FakeDb.DbItem("TestItem")
            })
            {
                var item   = database.GetItem("/sitecore/content/TestItem");
                var mapper = new SitecoreItemMapper();
                var obj    = new StubClass();

                var mappingContext = new SitecoreDataMappingContext(obj, item, null);

                //Act
                var result = mapper.MapToProperty(mappingContext);

                //Assign
                Assert.AreEqual(item, result);
            }
        }
        public void WriteJson_SerializesPrivateFields()
        {
            // Arrange
            int    testField1Value = 1;
            string testField2Value = "testField2Value";
            bool?  testField3Value = true;

            StubClass stubClass = new StubClass
            {
                StubProperty1 = testField1Value,
                StubProperty2 = testField2Value,
                StubProperty3 = testField3Value
            };

            // Act
            string result = JsonConvert.SerializeObject(stubClass, new PrivateFieldsJsonConverter());

            // Assert
            Assert.Equal(3, Regex.Matches(Regex.Escape(result), "_stubField").Count);
            Assert.Contains($"\"_stubField1\":{testField1Value}", result);
            Assert.Contains($"\"_stubField2\":\"{testField2Value}\"", result);
            Assert.Contains($"\"_stubField3\":{testField3Value.ToString().ToLowerInvariant()}", result);
        }
        public void MapToProperty_MapsItemToProperty()
        {
            //Arrange

            using (Db database = new Db
            {
                new Sitecore.FakeDb.DbItem("TestItem")
            })
            {
                var item = database.GetItem("/sitecore/content/TestItem");
                var mapper = new SitecoreItemMapper();
                var obj = new StubClass();

                var mappingContext = new SitecoreDataMappingContext(obj, item, null);

                //Act
                var result = mapper.MapToProperty(mappingContext);

                //Assign
                Assert.AreEqual(item, result);
            }

        }
        public void MapCmsToProperty_DoesNotAlterObject()
        {
            //Assign
            string targetPath = "/sitecore/content/target";

            var templateId = ID.NewID;
            using (Db database = new Db
            {
                new DbTemplate(templateId)
                {
                    new DbField("Field")
                    {
                        Type = "text"
                    }
                },
                new Sitecore.FakeDb.DbItem("Target", ID.NewID, templateId)
                {
                    {"Field", ""}
                }
            })
            {
                var fieldValue = "hello world";
                var propertyValue = "goodbye world";

                var item = database.GetItem(targetPath);
                var field = item.Fields["Field"];

                var mapper = new SitecoreIgnoreMapper();
                var config = new SitecoreIgnoreMapper();

                using (new ItemEditing(item, true))
                {
                    field.Value = fieldValue;
                }

                var stub = new StubClass();
                stub.Field = propertyValue;
                var context = new SitecoreDataMappingContext(stub, item, null);

                //Act
                mapper.MapCmsToProperty(context);


                //Assert
                Assert.AreEqual(stub.Field, propertyValue);
            }
        }
        public void Create_CreatesANewItem()
        {
            //Assign
            string parentPath = "/sitecore/content/Tests/SitecoreService/Create";
            string childPath = "/sitecore/content/Tests/SitecoreService/Create/newChild";

            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<StubClass>(parentPath);
            
                        var child = new StubClass();
            child.Name = "newChild";

            //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 Model_can_be_set_successfully()
        {
            // Arrange
            var testHarness = new GlassUserControlTestHarness();
            StubClass expected = new StubClass();
            testHarness.GlassUserControl.Model = expected;

            // Act
            var result = testHarness.GlassUserControl.Model;

            // Assert
            result.Should().Be(expected);
        }
        public void GlassController_can_set_and_get_context()
        {
            // Arrange
            StubClass classToReturn = new StubClass();
            var testHarness = new SingleTypedGlassControllerTestHarness();
            testHarness.SitecoreContext.GetCurrentItem<StubClass>().Returns(classToReturn);

            // Act
            var result1 = testHarness.GlassController.Context;
            var result2 = testHarness.GlassController.Context;

            // Assert
            result1.Should().Be(classToReturn);
            result2.Should().BeSameAs(result1);
            testHarness.SitecoreContext.Received(1).GetCurrentItem<StubClass>();
        }
        public void Create_CreatesANewItem_WithSpecificId()
        {
            //Assign
            using (Db database = new Db
            {
                new Sitecore.FakeDb.DbItem("Target")
            })
            {
                var context = Context.Create(Utilities.CreateStandardResolver());
                context.Load(new OnDemandLoader<SitecoreTypeConfiguration>(typeof(StubClass)));
                var service = new SitecoreService(database.Database);

                string parentPath = "/sitecore/content/Target";
                string childPath = "/sitecore/content/Target/newChild";
                var id = Guid.NewGuid();

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

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

                var child = new StubClass();
                child.Id = id;
                child.Name = "newChild";

                //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(id, newItem.ID.Guid);
            }
        }
        public void GlassController_can_set_and_get_layout_item_from_context()
        {
            // Arrange
            StubClass classToReturn = new StubClass();
            var testHarness = new SingleTypedGlassControllerTestHarness();
            testHarness.RenderingContextWrapper.HasDataSource.Returns(false);
            testHarness.SitecoreContext.GetCurrentItem<StubClass>().Returns(classToReturn);

            // Act
            var result1 = testHarness.GlassController.Layout;
            var result2 = testHarness.GlassController.Layout;

            // Assert
            result1.Should().Be(classToReturn);
            result2.Should().BeSameAs(result1);
            testHarness.SitecoreContext.Received(1).GetCurrentItem<StubClass>();
        }
Example #59
0
        public void GetPropertyFuncAndSetPropertyAction_ReadWriteUsingActionAndFunction_ReturnsString(
            [Values(
                "GetPublicSetPublic",
                "GetProtectedSetProtected",
                "GetPrivateSetPrivate",
                "GetPublicSetProtected",
                "GetPublicSetPrivate",
                "GetPublicNoSet"
                )] string propertyName,
            [Values(
                "some value",
                "some value",
                "some value",
                "some value",
                "some value",
                null
                )] string expected
        )
        {
            //Assign
            PropertyInfo info = typeof(StubClass).GetProperty(propertyName, Utilities.Flags);

            var getFunc = Utilities.GetPropertyFunc(info);
            var setActi = Utilities.SetPropertyAction(info);
            var stub = new StubClass();

            //Act
            setActi(stub, expected);
            var result = getFunc(stub) as string;

            //Assert
            Assert.AreEqual(expected, result);

        }
 public void ValidateMethodCallPropertyOnClass_IsSuccessful()
 {
     ValidationCatalog.AddSpecification<StubClass>(validates => validates.Check( x=> x.GetCollection()).Required().CountGreaterThan(1));
     var c = new StubClass();
     Assert.DoesNotThrow( () => ValidationCatalog.Validate(c)   );
 }