diff --git a/src/Fortis.Tests/App_Config/Include/Sitecore.FakeDb.RenderFieldPipeline.config b/src/Fortis.Tests/App_Config/Include/Sitecore.FakeDb.RenderFieldPipeline.config
new file mode 100644
index 0000000..e8a9466
--- /dev/null
+++ b/src/Fortis.Tests/App_Config/Include/Sitecore.FakeDb.RenderFieldPipeline.config
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Fortis.Tests/Fortis.Tests.csproj b/src/Fortis.Tests/Fortis.Tests.csproj
index 79f0740..edccc96 100644
--- a/src/Fortis.Tests/Fortis.Tests.csproj
+++ b/src/Fortis.Tests/Fortis.Tests.csproj
@@ -179,6 +179,7 @@
+
diff --git a/src/Fortis.Tests/Model/Fields/FieldWrapperTestClass.cs b/src/Fortis.Tests/Model/Fields/FieldWrapperTestClass.cs
index 4211aed..fce1e70 100644
--- a/src/Fortis.Tests/Model/Fields/FieldWrapperTestClass.cs
+++ b/src/Fortis.Tests/Model/Fields/FieldWrapperTestClass.cs
@@ -3,7 +3,9 @@
using Fortis.Providers;
using NSubstitute;
using Sitecore.Data;
+using Sitecore.Data.Items;
using Sitecore.FakeDb;
+using Sitecore.FakeDb.Sites;
namespace Fortis.Tests.Model.Fields
{
@@ -30,15 +32,25 @@ protected FieldWrapperTestClass()
this.Field = new DbField(FieldName, ID.NewID);
item.Fields.Add(this.Field);
this.Db.Add(item);
+
+ // init sitecore context
+ Sitecore.Context.Site = new FakeSiteContext("website");
+ Sitecore.Context.Item = this.Item;
}
- protected TFieldWrapper FieldWrapper
+ protected Item Item
+ {
+ get { return this.Db.GetItem("/sitecore/content/Test"); }
+ }
+
+ protected TFieldWrapper FieldWrapper
{
get
{
- var item = this.Db.GetItem("/sitecore/content/Test");
- var field = item.Fields[FieldName];
- return (TFieldWrapper) Activator.CreateInstance(typeof (TFieldWrapper), field, this.SpawnProvider);
+ return (TFieldWrapper) Activator.CreateInstance(
+ typeof (TFieldWrapper),
+ this.Item.Fields[FieldName],
+ this.SpawnProvider);
}
}
diff --git a/src/Fortis.Tests/Model/Fields/RichTextFieldWrapperTests.cs b/src/Fortis.Tests/Model/Fields/RichTextFieldWrapperTests.cs
index 6fd9add..7485b66 100644
--- a/src/Fortis.Tests/Model/Fields/RichTextFieldWrapperTests.cs
+++ b/src/Fortis.Tests/Model/Fields/RichTextFieldWrapperTests.cs
@@ -10,22 +10,20 @@ namespace Fortis.Tests.Model.Fields
///
public class RichTextFieldWrapperTests : FieldWrapperTestClass
{
- //[Theory]
- //[InlineData("", "")]
- //[InlineData(" ", " ")]
- //[InlineData("test", "test")]
- //public void Value_SpecificRawValue_ReturnsExpectedHtmlStringValue(string rawValue, string expectedStringValue)
- //{
- // var expectedValue = new HtmlString(expectedStringValue);
+ [Theory]
+ [InlineData("", "")]
+ [InlineData(" ", " ")]
+ [InlineData("test", "test")]
+ public void Value_SpecificRawValue_ReturnsExpectedHtmlStringValue(string rawValue, string expectedValue)
+ {
+ this.Field.Value = rawValue;
- // this.Field.Value = rawValue;
+ var actual = this.FieldWrapper.Value;
+ // Unable to compare two HtmlString objects here, need to compare strings instead.
+ Assert.Equal(expectedValue, actual.ToHtmlString());
+ }
- // var actual = this.FieldWrapper.Value;
-
- // Assert.Equal(expectedValue, actual);
- //}
-
- [Theory]
+ [Theory]
[InlineData("", false)]
[InlineData(" ", false)]
[InlineData("test", true)]
diff --git a/src/Fortis/Model/Fields/IntegerFieldWrapper.cs b/src/Fortis/Model/Fields/IntegerFieldWrapper.cs
index 9f54f3f..7f88542 100644
--- a/src/Fortis/Model/Fields/IntegerFieldWrapper.cs
+++ b/src/Fortis/Model/Fields/IntegerFieldWrapper.cs
@@ -29,7 +29,7 @@ public long Value
get
{
InitializeValue();
- return _value.Value;
+ return _value ?? default(long);
}
}
diff --git a/src/Fortis/Model/Fields/ListFieldWrapper.cs b/src/Fortis/Model/Fields/ListFieldWrapper.cs
index 9d0a3dd..f80359a 100644
--- a/src/Fortis/Model/Fields/ListFieldWrapper.cs
+++ b/src/Fortis/Model/Fields/ListFieldWrapper.cs
@@ -62,31 +62,39 @@ public IEnumerable Value
{
get
{
- if (_ids == null)
- {
- var listField = (MultilistField)Field;
- var ids = new List();
-
- foreach (var id in listField.Items)
- {
- Guid guid;
-
- if (Guid.TryParse(id, out guid))
- {
- ids.Add(guid);
- }
- }
-
- _ids = ids;
- }
-
+ this.InitializeValue();
return _ids;
}
}
public override bool HasValue
{
- get { return _ids != null && Value.Any(); }
+ get
+ {
+ this.InitializeValue();
+ return _ids.Any();
+ }
}
+
+ private void InitializeValue()
+ {
+ if (_ids == null)
+ {
+ var listField = (MultilistField)Field;
+ var ids = new List();
+
+ foreach (var id in listField.Items)
+ {
+ Guid guid;
+
+ if (Guid.TryParse(id, out guid))
+ {
+ ids.Add(guid);
+ }
+ }
+
+ _ids = ids;
+ }
+ }
}
}
\ No newline at end of file
diff --git a/src/Fortis/Model/Fields/NumberFieldWrapper.cs b/src/Fortis/Model/Fields/NumberFieldWrapper.cs
index 015f688..19938f2 100644
--- a/src/Fortis/Model/Fields/NumberFieldWrapper.cs
+++ b/src/Fortis/Model/Fields/NumberFieldWrapper.cs
@@ -34,7 +34,7 @@ public float Value
{
this.InitializeValue();
- return _value.Value;
+ return _value ?? default(float);
}
}