public void HelperDynamicContentMediaTest() { var ctx = UmbracoUnitTestHelper.GetUmbracoContext(); var contentName = "contentName"; var mediaName = "mediaName"; var contentId = 20; var mediaId = 30; //create content items to be returned var mediaItem = BasicHelpers.GetPublishedContentMock(name: mediaName, id: mediaId); var contentItem = BasicHelpers.GetPublishedContentMock(name: contentName, id: contentId); //we create a mock of the dynamic query, which is used internally by the Umbraco helper var mockedDynamicQuery = new Mock <IDynamicPublishedContentQuery>(); mockedDynamicQuery.Setup(s => s.Content(contentId)).Returns(contentItem.Object); mockedDynamicQuery.Setup(s => s.Media(mediaId)).Returns(mediaItem.Object); //give our dynamic query mock to the longer version of the UmbracoHelper constructor var helper = UmbracoUnitTestHelper.GetUmbracoHelper(ctx, dynamicQuery: mockedDynamicQuery.Object); var controller = new BasicTestSurfaceController(ctx, helper); var res = controller.BasicDynamicContentMediaAction(contentId, mediaId); var model = res.Model as Tuple <string, string>; Assert.AreEqual(contentItem.Object.Name, model.Item1); Assert.AreEqual(mediaItem.Object.Name, model.Item2); }
public void BasicPublishedContent3Test() { var appCtx = ApplicationContext.EnsureContext( new DatabaseContext(Mock.Of <IDatabaseFactory>(), Mock.Of <ILogger>(), new SqlSyntaxProviders(new[] { Mock.Of <ISqlSyntaxProvider>() })), new ServiceContext(), CacheHelper.CreateDisabledCacheHelper(), new ProfilingLogger( Mock.Of <ILogger>(), Mock.Of <IProfiler>()), true); var ctx = UmbracoContext.EnsureContext( Mock.Of <HttpContextBase>(), appCtx, new Mock <WebSecurity>(null, null).Object, Mock.Of <IUmbracoSettingsSection>(), Enumerable.Empty <IUrlProvider>(), true); var test_name = "test"; //using a helper that I made to setup common fields var mockContent = BasicHelpers.GetPublishedContentMock(test_name); //setup umbracohelper.assignedcontentitem by setting the publishedcontent request of the umbracocontext ctx.PublishedContentRequest = new PublishedContentRequest(new Uri("http://test.com"), ctx.RoutingContext, Mock.Of <IWebRoutingSection>(section => section.UrlProviderMode == UrlProviderMode.AutoLegacy.ToString()), s => new string[] { }) { PublishedContent = mockContent.Object }; var res = new BasicTestSurfaceController().BasicPublishedContentAction(); var model = res.Model as string; Assert.AreEqual(test_name, model); }
public void BasicGetPropertyTest() { var appCtx = ApplicationContext.EnsureContext( new DatabaseContext(Mock.Of <IDatabaseFactory>(), Mock.Of <ILogger>(), new SqlSyntaxProviders(new[] { Mock.Of <ISqlSyntaxProvider>() })), new ServiceContext(), CacheHelper.CreateDisabledCacheHelper(), new ProfilingLogger( Mock.Of <ILogger>(), Mock.Of <IProfiler>()), true); var ctx = UmbracoContext.EnsureContext( Mock.Of <HttpContextBase>(), appCtx, new Mock <WebSecurity>(null, null).Object, Mock.Of <IUmbracoSettingsSection>(), Enumerable.Empty <IUrlProvider>(), true); string propertyName = "testProp"; string propValue = "testValue"; var propertyMock = new Mock <IPublishedProperty>(); propertyMock.Setup(s => s.Value).Returns(propValue); var contentId = 2; //get a mocked IPublishedContent var contentMock = BasicHelpers.GetPublishedContentMock(); contentMock.Setup(s => s.GetProperty(propertyName)).Returns(propertyMock.Object); var mockedTypedQuery = new Mock <ITypedPublishedContentQuery>(); mockedTypedQuery.Setup(s => s.TypedContent(contentId)).Returns(contentMock.Object); //give our dynamic query mock to the longer version of the UmbracoHelper constructor var helper = new UmbracoHelper(ctx, Mock.Of <IPublishedContent>(), mockedTypedQuery.Object, Mock.Of <IDynamicPublishedContentQuery>(), Mock.Of <ITagQuery>(), Mock.Of <IDataTypeService>(), new UrlProvider(ctx, Mock.Of <IWebRoutingSection>(section => section.UrlProviderMode == UrlProviderMode.Auto.ToString()), new[] { Mock.Of <IUrlProvider>() }), Mock.Of <ICultureDictionary>(), Mock.Of <IUmbracoComponentRenderer>(), new MembershipHelper(ctx, Mock.Of <MembershipProvider>(), Mock.Of <RoleProvider>())); var controller = new BasicTestSurfaceController(ctx, helper); var res = controller.BasicGetPropertyAction(contentId, propertyName); var model = (string)res.Model; Assert.AreEqual(propValue, model); }
public void BasicDynamicContentMediaTest() { var appCtx = ApplicationContext.EnsureContext( new DatabaseContext(Mock.Of <IDatabaseFactory>(), Mock.Of <ILogger>(), new SqlSyntaxProviders(new[] { Mock.Of <ISqlSyntaxProvider>() })), new ServiceContext(), CacheHelper.CreateDisabledCacheHelper(), new ProfilingLogger( Mock.Of <ILogger>(), Mock.Of <IProfiler>()), true); var ctx = UmbracoContext.EnsureContext( Mock.Of <HttpContextBase>(), appCtx, new Mock <WebSecurity>(null, null).Object, Mock.Of <IUmbracoSettingsSection>(), Enumerable.Empty <IUrlProvider>(), true); var contentName = "contentName"; var mediaName = "mediaName"; var contentId = 20; var mediaId = 30; //create content items to be returned var mediaItem = BasicHelpers.GetPublishedContentMock(name: mediaName, id: mediaId); var contentItem = BasicHelpers.GetPublishedContentMock(name: contentName, id: contentId); //we create a mock of the dynamic query, which is used internally by the Umbraco helper var mockedDynamicQuery = new Mock <IDynamicPublishedContentQuery>(); mockedDynamicQuery.Setup(s => s.Content(contentId)).Returns(contentItem.Object); mockedDynamicQuery.Setup(s => s.Media(mediaId)).Returns(mediaItem.Object); //give our dynamic query mock to the longer version of the UmbracoHelper constructor var helper = new UmbracoHelper(ctx, Mock.Of <IPublishedContent>(), Mock.Of <ITypedPublishedContentQuery>(), mockedDynamicQuery.Object, Mock.Of <ITagQuery>(), Mock.Of <IDataTypeService>(), new UrlProvider(ctx, Mock.Of <IWebRoutingSection>(section => section.UrlProviderMode == UrlProviderMode.Auto.ToString()), new[] { Mock.Of <IUrlProvider>() }), Mock.Of <ICultureDictionary>(), Mock.Of <IUmbracoComponentRenderer>(), new MembershipHelper(ctx, Mock.Of <MembershipProvider>(), Mock.Of <RoleProvider>())); var controller = new BasicTestSurfaceController(ctx, helper); var res = controller.BasicDynamicContentMediaAction(contentId, mediaId); var model = res.Model as Tuple <string, string>; Assert.AreEqual(contentItem.Object.Name, model.Item1); Assert.AreEqual(mediaItem.Object.Name, model.Item2); }
public void BasicApiPositionTest() { var appCtx = ApplicationContext.EnsureContext( new DatabaseContext(Mock.Of <IDatabaseFactory>(), Mock.Of <ILogger>(), new SqlSyntaxProviders(new[] { Mock.Of <ISqlSyntaxProvider>() })), new ServiceContext(), CacheHelper.CreateDisabledCacheHelper(), new ProfilingLogger( Mock.Of <ILogger>(), Mock.Of <IProfiler>()), true); var ctx = UmbracoContext.EnsureContext( Mock.Of <HttpContextBase>(), appCtx, new Mock <WebSecurity>(null, null).Object, Mock.Of <IUmbracoSettingsSection>(), Enumerable.Empty <IUrlProvider>(), true); var contentId = 2; //get a mocked IPublishedContent var contentMock = BasicHelpers.GetPublishedContentMock(); contentMock.Setup(s => s.GetIndex()).Returns(1); var mockedTypedQuery = new Mock <ITypedPublishedContentQuery>(); mockedTypedQuery.Setup(s => s.TypedContent(contentId)).Returns(contentMock.Object); //give our dynamic query mock to the longer version of the UmbracoHelper constructor var helper = new UmbracoHelper(ctx, Mock.Of <IPublishedContent>(), mockedTypedQuery.Object, Mock.Of <IDynamicPublishedContentQuery>(), Mock.Of <ITagQuery>(), Mock.Of <IDataTypeService>(), new UrlProvider(ctx, Mock.Of <IWebRoutingSection>(section => section.UrlProviderMode == UrlProviderMode.Auto.ToString()), new[] { Mock.Of <IUrlProvider>() }), Mock.Of <ICultureDictionary>(), Mock.Of <IUmbracoComponentRenderer>(), new MembershipHelper(ctx, Mock.Of <MembershipProvider>(), Mock.Of <RoleProvider>())); var controller = new BasicUmbracoApiController(ctx, helper); var res = controller.BasicPositionAction(contentId); //not first Assert.IsFalse(res); }
public void BasicApiContentTypeTest() { //create a mock of the content type service var mockContentService = new Mock <IContentTypeService>(); //this time we will make our own service context, which can take in all of the umbraco services //Pass the context the mocked content service object var serviceContext = new ServiceContext(contentTypeService: mockContentService.Object); var appCtx = ApplicationContext.EnsureContext( new DatabaseContext(Mock.Of <IDatabaseFactory>(), Mock.Of <ILogger>(), new SqlSyntaxProviders(new[] { Mock.Of <ISqlSyntaxProvider>() })), serviceContext, CacheHelper.CreateDisabledCacheHelper(), new ProfilingLogger( Mock.Of <ILogger>(), Mock.Of <IProfiler>()), true); var ctx = UmbracoContext.EnsureContext( Mock.Of <HttpContextBase>(), appCtx, new Mock <WebSecurity>(null, null).Object, Mock.Of <IUmbracoSettingsSection>(), Enumerable.Empty <IUrlProvider>(), true); var alias = "test_alias"; //we need to mock a content type composition with our alias var mockContentType = new Mock <IContentType>(); mockContentType.Setup(s => s.Alias).Returns(alias); //we are not going to give any property types because this will cause an error down the line mockContentType.Setup(s => s.CompositionPropertyTypes).Returns(new PropertyType[] { }); //PublishedContentType.Get will eventually request a content type from one of the data services (content, media, member) //In our case content //We tell it which content type object to return mockContentService.Setup(s => s.GetContentType(alias)).Returns(mockContentType.Object); var ContentType = PublishedContentType.Get(PublishedItemType.Content, alias); var contentId = 2; //get a mocked IPublishedContent var contentMock = BasicHelpers.GetPublishedContentMock(); contentMock.Setup(s => s.ContentType).Returns(ContentType); var mockedTypedQuery = new Mock <ITypedPublishedContentQuery>(); mockedTypedQuery.Setup(s => s.TypedContent(contentId)).Returns(contentMock.Object); //give our dynamic query mock to the longer version of the UmbracoHelper constructor var helper = new UmbracoHelper(ctx, Mock.Of <IPublishedContent>(), mockedTypedQuery.Object, Mock.Of <IDynamicPublishedContentQuery>(), Mock.Of <ITagQuery>(), Mock.Of <IDataTypeService>(), new UrlProvider(ctx, Mock.Of <IWebRoutingSection>(section => section.UrlProviderMode == UrlProviderMode.Auto.ToString()), new[] { Mock.Of <IUrlProvider>() }), Mock.Of <ICultureDictionary>(), Mock.Of <IUmbracoComponentRenderer>(), new MembershipHelper(ctx, Mock.Of <MembershipProvider>(), Mock.Of <RoleProvider>())); var controller = new BasicUmbracoApiController(ctx, helper); var res = controller.BasicContentTypeAction(contentId); Assert.AreEqual(alias, res); }