public void ForPage_OfSite_WithAliasPath_Will_Create_A_Valid_Key(string siteName, string aliasPath, string culture)
        {
            string keyWithCutlure    = FluentCacheKey.ForPage().OfSite(siteName).WithAliasPath(aliasPath, culture);
            string keyWithoutCulture = FluentCacheKey.ForPage().OfSite(siteName).WithAliasPath(aliasPath);

            keyWithCutlure.Should().Be($"node|{siteName}|{aliasPath}|{culture}");
            keyWithoutCulture.Should().Be($"node|{siteName}|{aliasPath}");
        }
        public void ForAttachments_OfDocumentId_Will_Create_A_Valid_Key(int documentId)
        {
            string key = FluentCacheKey.ForAttachments().OfDocumentId(documentId);

            key.Should().Be($"documentid|{documentId}|attachments");
        }
        public void ForAttachment_WithGuid_Will_Create_A_Valid_Key(Guid attachmentGuid)
        {
            string key = FluentCacheKey.ForAttachment().WithGuid(attachmentGuid);

            key.Should().Be($"attachment|{attachmentGuid}");
        }
        public void ForPages_OfSite_OfClass_Will_Create_A_Valid_Key(string siteName, string className)
        {
            string key = FluentCacheKey.ForPages().OfSite(siteName).OfClassName(className);

            key.Should().Be($"nodes|{siteName}|{className}|all");
        }
        public void ForPages_OfSite_UnderAliasPath_Will_Create_A_Valid_Key(string siteName, string aliasPath)
        {
            string key = FluentCacheKey.ForPages().OfSite(siteName).UnderAliasPath(aliasPath);

            key.Should().Be($"node|{siteName}|{aliasPath}|childnodes");
        }
        public void ForPage_OfSite_WithNodeGuid_Will_Create_A_Valid_Key(string siteName, Guid nodeGuid)
        {
            string key = FluentCacheKey.ForPage().OfSite(siteName).WithNodeGuid(nodeGuid);

            key.Should().Be($"nodeguid|{siteName}|{nodeGuid}");
        }
 public string[] DependencyKeys(MarketingTagsContentQuery query, Result <MarketingTagsQueryResponse> result) =>
 new[]
 {
     FluentCacheKey.ForPages().OfSite(context.SiteName).OfClassName(MarketingTagsContent.CLASS_NAME)
 };
 public string[] DependencyKeys(NodeAliasPathByNodeGuidQuery query, Result <string> result) =>
 new[] { FluentCacheKey.ForPage().OfSite(context.SiteName).WithNodeGuid(query.NodeGuid) };
        public void ForPage_RelationshipsOfNodeId_Will_Create_A_Valid_Key(int nodeId)
        {
            string key = FluentCacheKey.ForPage().RelationshipsOfNodeId(nodeId);

            key.Should().Be($"nodeid|{nodeId}|relationships");
        }
        public void ForCustomTable_OfClassName_WithRecordId_Will_Create_A_Valid_Key(string className, int id)
        {
            string key = FluentCacheKey.ForCustomTable().OfClassName(className).WithRecordId(id);

            key.Should().Be($"customtableitem.{className}|byid|{id}");
        }
        public void ForCustomTable_OfClassName_All_Will_Create_A_Valid_Key(string className)
        {
            string key = FluentCacheKey.ForCustomTable().OfClassName(className).All();

            key.Should().Be($"customtableitem.{className}|all");
        }
        public void ForMediaFile_PreviewWithGuid_Will_Create_A_Valid_Key(Guid mediaFileGuid)
        {
            string key = FluentCacheKey.ForMediaFile().PreviewWithGuid(mediaFileGuid);

            key.Should().Be($"mediafile|preview|{mediaFileGuid}");
        }
        public void ForPage_WithDocumentId_Will_Create_A_Valid_Key(int documentId)
        {
            string key = FluentCacheKey.ForPage().WithDocumentId(documentId);

            key.Should().Be($"documentid|{documentId}");
        }
        public void ForObject_OfClassName_WithName_Will_Create_A_Valid_Key(string className, string objectName)
        {
            string key = FluentCacheKey.ForObject().OfClassName(className).WithName(objectName);

            key.Should().Be($"{className}|byname|{objectName}");
        }
        public void ForAttachments_All_Will_Create_A_Valid_Key()
        {
            string key = FluentCacheKey.ForAttachments().All();

            key.Should().Be($"cms.attachment|all");
        }
        public void ForObject_OfClassName_WithId_Will_Create_A_Valid_Key(string className, int objectId)
        {
            string key = FluentCacheKey.ForObject().OfClassName(className).WithId(objectId);

            key.Should().Be($"{className}|byid|{objectId}");
        }
        public void ForPage_WithNodeId_Will_Create_A_Valid_Key(int nodeId)
        {
            string key = FluentCacheKey.ForPage().WithNodeId(nodeId);

            key.Should().Be($"nodeid|{nodeId}");
        }
 public string[] DependencyKeys(DocumentByNodeAliasPathQuery query, Result <DocumentQueryResponse> result) =>
 new[] { FluentCacheKey.ForPage().OfSite(context.SiteName).WithAliasPath(query.NodeAliasPath) };
 public string[] DependencyKeys(HomePageQuery query, Result <HomePageQueryResponse> result) =>
 new[] { FluentCacheKey.ForPage().OfSite(Context.SiteName).WithAliasPath(query.NodeAliasPath) };