public void TestIsParserForInValidDataType() { // arrange var dataTypeDefinition = new DataTypeDefinition("foo"); var parser = new RjpMultiUrlPickerParser(); // act var result = parser.IsParserFor(dataTypeDefinition); // verify Assert.IsFalse(result); }
public void TestIsParserForNewDataType() { // arrange var dataTypeDefinition = new DataTypeDefinition("Umbraco.MultiUrlPicker"); var parser = new RjpMultiUrlPickerParser(); // act var result = parser.IsParserFor(dataTypeDefinition); // verify Assert.IsTrue(result); }
public void TestGetLinkedEntitiesWithValue() { // arrange var parser = new RjpMultiUrlPickerParser(); var contentId = 1072; var mediaId = 1092; string propValue = $@"[ {{ ""id"": ""{contentId}"", ""name"": ""Extend"", ""url"": ""/extend/"", ""icon"": ""icon-stamp"" }}, {{ ""id"": {mediaId}, ""name"": ""Doc-Type-Grid-Editor---Developers-Guide-v1.1.pdf"", ""url"": ""/media/1057/doc-type-grid-editor-developers-guide-v11.pdf"", ""isMedia"": true, ""icon"": ""icon-document"" }}, {{ ""name"": ""http://www.google.com"", ""url"": ""http://www.google.com"", ""icon"": ""icon-link"" }}, {{ ""id"": null, ""name"": ""Doc-Type-Grid-Editor---Developers-Guide-v1.1.pdf"", ""url"": ""/media/1057/doc-type-grid-editor-developers-guide-v11.pdf"", ""isMedia"": true, ""icon"": ""icon-document"" }} ]"; // act var result = parser.GetLinkedEntities(propValue); // verify Assert.IsNotNull(result); var entities = result.ToList(); Assert.AreEqual(2, entities.Count()); Assert.IsTrue(entities.Exists(x => x.LinkedEntityType == LinkedEntityType.Document && x.Id == contentId)); Assert.IsTrue(entities.Exists(x => x.LinkedEntityType == LinkedEntityType.Media && x.Id == mediaId)); }
public void TestGetLinkedEntitiesWithEmptyValue() { // arrange var parser = new RjpMultiUrlPickerParser(); object propValue = null; // act var result = parser.GetLinkedEntities(propValue); // verify Assert.IsNotNull(result); var entities = result.ToList(); Assert.AreEqual(0, entities.Count()); }
public void TestGetLinkedEntitiesWithUdiValues() { // arrange var cacheProviderMock = new Mock <ICacheProvider>(); cacheProviderMock.Setup(x => x.GetCacheItem(It.IsAny <string>(), It.IsAny <Func <object> >())) .Returns((string k, Func <object> action) => action()); var contentKey = "633927e3e97e4769a9a00e563d0867c8"; var mediaKey = "ee44da039a9546788fdfa76ae40d1581"; var contentGuid = Guid.Parse(contentKey); var mediaGuid = Guid.Parse(mediaKey); var contentId = 1072; var mediaId = 1092; string propValue = $@"[ {{ ""udi"": ""umb://document/{contentKey}"", ""name"": ""Extend"", ""url"": ""/extend/"" }}, {{ ""udi"": ""umb://media/{mediaKey}"", ""name"": ""Doc-Type-Grid-Editor---Developers-Guide-v1.1.pdf"", ""url"": ""/media/1057/doc-type-grid-editor-developers-guide-v11.pdf"" }}, {{ ""name"": ""http://www.google.com"", ""url"": ""http://www.google.com"" }} ]"; var contentServiceMock = new Mock <IContentService>(); var mediaServiceMock = new Mock <IMediaService>(); var contentMock = new Mock <IContent>(); contentMock.SetupGet(x => x.Id).Returns(contentId); var mediaMock = new Mock <IMedia>(); mediaMock.SetupGet(x => x.Id).Returns(mediaId); contentServiceMock.Setup(x => x.GetById(contentGuid)).Returns(contentMock.Object); mediaServiceMock.Setup(x => x.GetById(mediaGuid)).Returns(mediaMock.Object); var parser = new RjpMultiUrlPickerParser(contentServiceMock.Object, mediaServiceMock.Object, cacheProviderMock.Object); // act var result = parser.GetLinkedEntities(propValue); // verify Assert.IsNotNull(result); var entities = result.ToList(); Assert.AreEqual(2, entities.Count()); Assert.IsTrue(entities.Exists(x => x.LinkedEntityType == LinkedEntityType.Document && x.Id == contentId)); Assert.IsTrue(entities.Exists(x => x.LinkedEntityType == LinkedEntityType.Media && x.Id == mediaId)); }