UNPKG

@frontity/source

Version:

Types for the Frontity source namespace

750 lines (714 loc) 26.8 kB
import { expectType } from "frontity/types/helpers"; import { // Types. Data, ErrorData, ArchiveData, TaxonomyData, TermData, CategoryData, TagData, AuthorData, PostTypeArchiveData, PostArchiveData, DateData, PostTypeData, PostData, PageData, AttachmentData, SearchData, HomeData, RedirectionData, } from "../../types/data"; import { // Type Guards. isError, isArchive, isSearch, isTerm, isTaxonomy, isCategory, isTag, isAuthor, isDate, isPostTypeArchive, isPostArchive, isPostType, isPost, isPage, isAttachment, isHome, isRedirection, } from "../data"; import { // Data instances. onlyStatus, notFound, term, category, tag, author, postTypeArchive, postArchive, dateArchive, termWithSearchData, categoryWithSearchData, tagWithSearchData, authorWithSearchData, postTypeArchiveWithSearchData, postArchiveWithSearchData, dateArchiveWithSearchData, postType, post, page, attachment, oldTaxonomy, redirection, } from "../../__tests__/mocks/data"; describe("Data type guards", () => { // eslint-disable-next-line jest/expect-expect test("Types are well defined", () => { const data: Data = onlyStatus; if (isError(data)) { expectType<Data>(data); expectType<ErrorData>(data); } if (isArchive(data)) { expectType<Data>(data); expectType<ArchiveData>(data); } if (isTerm(data)) { expectType<Data>(data); expectType<ArchiveData>(data); expectType<TermData>(data); expectType<TaxonomyData>(data); } // Type composition nesting other checks. if (isTerm(data)) { if (isSearch(data)) { expectType<Data>(data); expectType<ArchiveData>(data); expectType<TermData>(data); expectType<TermData & SearchData>(data); expectType<TaxonomyData>(data); expectType<TaxonomyData & SearchData>(data); } } // Types can be composited in the same condition. if (isTerm(data) && isSearch(data)) { expectType<Data>(data); expectType<ArchiveData>(data); expectType<TermData>(data); expectType<TermData & SearchData>(data); expectType<TaxonomyData>(data); expectType<TaxonomyData & SearchData>(data); } if (isCategory(data)) { expectType<Data>(data); expectType<ArchiveData>(data); expectType<TermData>(data); expectType<TaxonomyData>(data); expectType<CategoryData>(data); if (isSearch(data)) expectType<CategoryData & SearchData>(data); } if (isTag(data)) { expectType<Data>(data); expectType<ArchiveData>(data); expectType<TermData>(data); expectType<TaxonomyData>(data); expectType<TagData>(data); if (isSearch(data)) expectType<TagData & SearchData>(data); } if (isAuthor(data)) { expectType<Data>(data); expectType<ArchiveData>(data); expectType<AuthorData>(data); if (isSearch(data)) expectType<AuthorData & SearchData>(data); } if (isPostTypeArchive(data)) { expectType<Data>(data); expectType<ArchiveData>(data); expectType<PostTypeArchiveData>(data); if (isSearch(data)) expectType<PostTypeArchiveData & SearchData>(data); } if (isPostArchive(data)) { expectType<Data>(data); expectType<ArchiveData>(data); expectType<PostTypeArchiveData>(data); expectType<PostArchiveData>(data); if (isSearch(data)) expectType<PostArchiveData & SearchData>(data); if (isHome(data)) expectType<PostArchiveData & HomeData>(data); } if (isDate(data)) { expectType<Data>(data); expectType<ArchiveData>(data); expectType<DateData>(data); if (isSearch(data)) expectType<DateData & SearchData>(data); } if (isPostType(data)) { expectType<Data>(data); expectType<PostTypeData>(data); } if (isPost(data)) { expectType<Data>(data); expectType<PostTypeData>(data); expectType<PostData>(data); } if (isPage(data)) { expectType<Data>(data); expectType<PostTypeData>(data); expectType<PageData>(data); if (isHome(data)) expectType<PageData & HomeData>(data); } if (isAttachment(data)) { expectType<Data>(data); expectType<PostTypeData>(data); expectType<AttachmentData>(data); } if (isRedirection(data)) { expectType<Data>(data); expectType<RedirectionData>(data); } }); test("`isError` should only recognize error data", () => { expect(isError(onlyStatus)).toBe(false); // Error. expect(isError(notFound)).toBe(true); // Terms. expect(isError(term)).toBe(false); expect(isError(termWithSearchData)).toBe(false); expect(isError(category)).toBe(false); expect(isError(categoryWithSearchData)).toBe(false); expect(isError(tag)).toBe(false); expect(isError(tagWithSearchData)).toBe(false); // Author expect(isError(author)).toBe(false); expect(isError(authorWithSearchData)).toBe(false); // Post Type archive expect(isError(postTypeArchive)).toBe(false); expect(isError(postTypeArchiveWithSearchData)).toBe(false); expect(isError(postArchive)).toBe(false); expect(isError(postArchiveWithSearchData)).toBe(false); // Date Archive expect(isError(dateArchive)).toBe(false); expect(isError(dateArchiveWithSearchData)).toBe(false); // Post Types. expect(isError(postType)).toBe(false); expect(isError(post)).toBe(false); expect(isError(page)).toBe(false); expect(isError(attachment)).toBe(false); // Redirection Type expect(isError(redirection)).toBe(false); }); test("`isArchive` should recognize archive data", () => { expect(isArchive(onlyStatus)).toBe(false); // Error. expect(isArchive(notFound)).toBe(false); // Terms. expect(isArchive(term)).toBe(true); expect(isArchive(termWithSearchData)).toBe(true); expect(isArchive(category)).toBe(true); expect(isArchive(categoryWithSearchData)).toBe(true); expect(isArchive(tag)).toBe(true); expect(isArchive(tagWithSearchData)).toBe(true); // Author expect(isArchive(author)).toBe(true); expect(isArchive(authorWithSearchData)).toBe(true); // Post Type archive expect(isArchive(postTypeArchive)).toBe(true); expect(isArchive(postTypeArchiveWithSearchData)).toBe(true); expect(isArchive(postArchive)).toBe(true); expect(isArchive(postArchiveWithSearchData)).toBe(true); // Date Archive expect(isArchive(dateArchive)).toBe(true); expect(isArchive(dateArchiveWithSearchData)).toBe(true); // Post Types. expect(isArchive(postType)).toBe(false); expect(isArchive(post)).toBe(false); expect(isArchive(page)).toBe(false); expect(isArchive(attachment)).toBe(false); // Redirection Type expect(isArchive(redirection)).toBe(false); }); test("`isTerm` should recognize term data", () => { expect(isTerm(onlyStatus)).toBe(false); // Error. expect(isTerm(notFound)).toBe(false); // Terms. expect(isTerm(term)).toBe(true); expect(isTerm(termWithSearchData)).toBe(true); expect(isTerm(category)).toBe(true); expect(isTerm(categoryWithSearchData)).toBe(true); expect(isTerm(tag)).toBe(true); expect(isTerm(tagWithSearchData)).toBe(true); // Deprecated Taxonomy expect(isTerm(oldTaxonomy)).toBe(true); // Author expect(isTerm(author)).toBe(false); expect(isTerm(authorWithSearchData)).toBe(false); // Post Type archive expect(isTerm(postTypeArchive)).toBe(false); expect(isTerm(postTypeArchiveWithSearchData)).toBe(false); expect(isTerm(postArchive)).toBe(false); expect(isTerm(postArchiveWithSearchData)).toBe(false); // Date Archive expect(isTerm(dateArchive)).toBe(false); expect(isTerm(dateArchiveWithSearchData)).toBe(false); // Post Types. expect(isTerm(postType)).toBe(false); expect(isTerm(post)).toBe(false); expect(isTerm(page)).toBe(false); expect(isTerm(attachment)).toBe(false); // Redirection Type expect(isTerm(redirection)).toBe(false); }); test("`isTaxonomy` (deprecated) should recognize term data", () => { expect(isTaxonomy(onlyStatus)).toBe(false); // Error. expect(isTaxonomy(notFound)).toBe(false); // Terms. expect(isTaxonomy(term)).toBe(true); expect(isTaxonomy(termWithSearchData)).toBe(true); expect(isTaxonomy(category)).toBe(true); expect(isTaxonomy(categoryWithSearchData)).toBe(true); expect(isTaxonomy(tag)).toBe(true); expect(isTaxonomy(tagWithSearchData)).toBe(true); // Deprecated Taxonomy expect(isTaxonomy(oldTaxonomy)).toBe(true); // Author expect(isTaxonomy(author)).toBe(false); expect(isTaxonomy(authorWithSearchData)).toBe(false); // Post Type archive expect(isTaxonomy(postTypeArchive)).toBe(false); expect(isTaxonomy(postTypeArchiveWithSearchData)).toBe(false); expect(isTaxonomy(postArchive)).toBe(false); expect(isTaxonomy(postArchiveWithSearchData)).toBe(false); // Date Archive expect(isTaxonomy(dateArchive)).toBe(false); expect(isTaxonomy(dateArchiveWithSearchData)).toBe(false); // Post Types. expect(isTaxonomy(postType)).toBe(false); expect(isTaxonomy(post)).toBe(false); expect(isTaxonomy(page)).toBe(false); expect(isTaxonomy(attachment)).toBe(false); // Redirection Type expect(isTaxonomy(redirection)).toBe(false); }); test("`isCategory` should recognize category data", () => { expect(isCategory(onlyStatus)).toBe(false); // Error. expect(isCategory(notFound)).toBe(false); // Terms. expect(isCategory(term)).toBe(false); expect(isCategory(termWithSearchData)).toBe(false); expect(isCategory(category)).toBe(true); expect(isCategory(categoryWithSearchData)).toBe(true); expect(isCategory(tag)).toBe(false); expect(isCategory(tagWithSearchData)).toBe(false); // Deprecated Taxonomy expect(isCategory(oldTaxonomy)).toBe(false); // Author expect(isCategory(author)).toBe(false); expect(isCategory(authorWithSearchData)).toBe(false); // Post Type archive expect(isCategory(postTypeArchive)).toBe(false); expect(isCategory(postTypeArchiveWithSearchData)).toBe(false); expect(isCategory(postArchive)).toBe(false); expect(isCategory(postArchiveWithSearchData)).toBe(false); // Date Archive expect(isCategory(dateArchive)).toBe(false); expect(isCategory(dateArchiveWithSearchData)).toBe(false); // Post Types. expect(isCategory(postType)).toBe(false); expect(isCategory(post)).toBe(false); expect(isCategory(page)).toBe(false); expect(isCategory(attachment)).toBe(false); // Redirection Type expect(isCategory(redirection)).toBe(false); }); test("`isTag` should recognize tag data", () => { expect(isTag(onlyStatus)).toBe(false); // Error. expect(isTag(notFound)).toBe(false); // Terms. expect(isTag(term)).toBe(false); expect(isTag(termWithSearchData)).toBe(false); expect(isTag(category)).toBe(false); expect(isTag(categoryWithSearchData)).toBe(false); expect(isTag(tag)).toBe(true); expect(isTag(tagWithSearchData)).toBe(true); // Deprecated Taxonomy expect(isTag(oldTaxonomy)).toBe(false); // Author expect(isTag(author)).toBe(false); expect(isTag(authorWithSearchData)).toBe(false); // Post Type archive expect(isTag(postTypeArchive)).toBe(false); expect(isTag(postTypeArchiveWithSearchData)).toBe(false); expect(isTag(postArchive)).toBe(false); expect(isTag(postArchiveWithSearchData)).toBe(false); // Date Archive expect(isTag(dateArchive)).toBe(false); expect(isTag(dateArchiveWithSearchData)).toBe(false); // Post Types. expect(isTag(postType)).toBe(false); expect(isTag(post)).toBe(false); expect(isTag(page)).toBe(false); expect(isTag(attachment)).toBe(false); // Redirection Type expect(isTag(redirection)).toBe(false); }); test("`isAuthor` should recognize author data", () => { expect(isAuthor(onlyStatus)).toBe(false); // Error. expect(isAuthor(notFound)).toBe(false); // Terms. expect(isAuthor(term)).toBe(false); expect(isAuthor(termWithSearchData)).toBe(false); expect(isAuthor(category)).toBe(false); expect(isAuthor(categoryWithSearchData)).toBe(false); expect(isAuthor(tag)).toBe(false); expect(isAuthor(tagWithSearchData)).toBe(false); // Deprecated Taxonomy expect(isAuthor(oldTaxonomy)).toBe(false); // Author expect(isAuthor(author)).toBe(true); expect(isAuthor(authorWithSearchData)).toBe(true); // Post Type archive expect(isAuthor(postTypeArchive)).toBe(false); expect(isAuthor(postTypeArchiveWithSearchData)).toBe(false); expect(isAuthor(postArchive)).toBe(false); expect(isAuthor(postArchiveWithSearchData)).toBe(false); // Date Archive expect(isAuthor(dateArchive)).toBe(false); expect(isAuthor(dateArchiveWithSearchData)).toBe(false); // Post Types. expect(isAuthor(postType)).toBe(false); expect(isAuthor(post)).toBe(false); expect(isAuthor(page)).toBe(false); expect(isAuthor(attachment)).toBe(false); // Redirection Type expect(isAuthor(redirection)).toBe(false); }); test("`isPostTypeArchive` should recognize post type archive data", () => { expect(isPostTypeArchive(onlyStatus)).toBe(false); // Error. expect(isPostTypeArchive(notFound)).toBe(false); // Terms. expect(isPostTypeArchive(term)).toBe(false); expect(isPostTypeArchive(termWithSearchData)).toBe(false); expect(isPostTypeArchive(category)).toBe(false); expect(isPostTypeArchive(categoryWithSearchData)).toBe(false); expect(isPostTypeArchive(tag)).toBe(false); expect(isPostTypeArchive(tagWithSearchData)).toBe(false); // Deprecated Taxonomy expect(isPostTypeArchive(oldTaxonomy)).toBe(false); // Author expect(isPostTypeArchive(author)).toBe(false); expect(isPostTypeArchive(authorWithSearchData)).toBe(false); // Post Type archive expect(isPostTypeArchive(postTypeArchive)).toBe(true); expect(isPostTypeArchive(postTypeArchiveWithSearchData)).toBe(true); expect(isPostTypeArchive(postArchive)).toBe(true); expect(isPostTypeArchive(postArchiveWithSearchData)).toBe(true); // Date Archive expect(isPostTypeArchive(dateArchive)).toBe(false); expect(isPostTypeArchive(dateArchiveWithSearchData)).toBe(false); // Post Types. expect(isPostTypeArchive(postType)).toBe(false); expect(isPostTypeArchive(post)).toBe(false); expect(isPostTypeArchive(page)).toBe(false); expect(isPostTypeArchive(attachment)).toBe(false); // Redirection Type expect(isPostTypeArchive(redirection)).toBe(false); }); test("`isPostArchive` should recognize post archive data", () => { expect(isPostArchive(onlyStatus)).toBe(false); // Error. expect(isPostArchive(notFound)).toBe(false); // Terms. expect(isPostArchive(term)).toBe(false); expect(isPostArchive(termWithSearchData)).toBe(false); expect(isPostArchive(category)).toBe(false); expect(isPostArchive(categoryWithSearchData)).toBe(false); expect(isPostArchive(tag)).toBe(false); expect(isPostArchive(tagWithSearchData)).toBe(false); // Deprecated Taxonomy expect(isPostArchive(oldTaxonomy)).toBe(false); // Author expect(isPostArchive(author)).toBe(false); expect(isPostArchive(authorWithSearchData)).toBe(false); // Post Type archive expect(isPostArchive(postTypeArchive)).toBe(false); expect(isPostArchive(postTypeArchiveWithSearchData)).toBe(false); expect(isPostArchive(postArchive)).toBe(true); expect(isPostArchive(postArchiveWithSearchData)).toBe(true); // Date Archive expect(isPostArchive(dateArchive)).toBe(false); expect(isPostArchive(dateArchiveWithSearchData)).toBe(false); // Post Types. expect(isPostArchive(postType)).toBe(false); expect(isPostArchive(post)).toBe(false); expect(isPostArchive(page)).toBe(false); expect(isPostArchive(attachment)).toBe(false); // Redirection Type expect(isPostArchive(redirection)).toBe(false); }); test("`isDate` should recognize date archive data", () => { expect(isDate(onlyStatus)).toBe(false); // Error. expect(isDate(notFound)).toBe(false); // Terms. expect(isDate(term)).toBe(false); expect(isDate(termWithSearchData)).toBe(false); expect(isDate(category)).toBe(false); expect(isDate(categoryWithSearchData)).toBe(false); expect(isDate(tag)).toBe(false); expect(isDate(tagWithSearchData)).toBe(false); // Deprecated Taxonomy expect(isDate(oldTaxonomy)).toBe(false); // Author expect(isDate(author)).toBe(false); expect(isDate(authorWithSearchData)).toBe(false); // Post Type archive expect(isDate(postTypeArchive)).toBe(false); expect(isDate(postTypeArchiveWithSearchData)).toBe(false); expect(isDate(postArchive)).toBe(false); expect(isDate(postArchiveWithSearchData)).toBe(false); // Date Archive expect(isDate(dateArchive)).toBe(true); expect(isDate(dateArchiveWithSearchData)).toBe(true); // Post Types. expect(isDate(postType)).toBe(false); expect(isDate(post)).toBe(false); expect(isDate(page)).toBe(false); expect(isDate(attachment)).toBe(false); // Redirection Type expect(isDate(redirection)).toBe(false); }); test("`isSearch` should recognize search data", () => { expect(isSearch(onlyStatus)).toBe(false); // Error. expect(isSearch(notFound)).toBe(false); // Terms. expect(isSearch(term)).toBe(false); expect(isSearch(termWithSearchData)).toBe(true); expect(isSearch(category)).toBe(false); expect(isSearch(categoryWithSearchData)).toBe(true); expect(isSearch(tag)).toBe(false); expect(isSearch(tagWithSearchData)).toBe(true); // Deprecated Taxonomy expect(isSearch(oldTaxonomy)).toBe(false); // Author expect(isSearch(author)).toBe(false); expect(isSearch(authorWithSearchData)).toBe(true); // Post Type archive expect(isSearch(postTypeArchive)).toBe(false); expect(isSearch(postTypeArchiveWithSearchData)).toBe(true); expect(isSearch(postArchive)).toBe(false); expect(isSearch(postArchiveWithSearchData)).toBe(true); // Date Archive expect(isSearch(dateArchive)).toBe(false); expect(isSearch(dateArchiveWithSearchData)).toBe(true); // Post Types. expect(isSearch(postType)).toBe(false); expect(isSearch(post)).toBe(false); expect(isSearch(page)).toBe(false); expect(isSearch(attachment)).toBe(false); // Redirection Type expect(isSearch(redirection)).toBe(false); }); test("`isPostType` should recognize post type data", () => { expect(isPostType(onlyStatus)).toBe(false); // Error. expect(isPostType(notFound)).toBe(false); // Terms. expect(isPostType(term)).toBe(false); expect(isPostType(termWithSearchData)).toBe(false); expect(isPostType(category)).toBe(false); expect(isPostType(categoryWithSearchData)).toBe(false); expect(isPostType(tag)).toBe(false); expect(isPostType(tagWithSearchData)).toBe(false); // Deprecated Taxonomy expect(isPostType(oldTaxonomy)).toBe(false); // Author expect(isPostType(author)).toBe(false); expect(isPostType(authorWithSearchData)).toBe(false); // Post Type archive expect(isPostType(postTypeArchive)).toBe(false); expect(isPostType(postTypeArchiveWithSearchData)).toBe(false); expect(isPostType(postArchive)).toBe(false); expect(isPostType(postArchiveWithSearchData)).toBe(false); // Date Archive expect(isPostType(dateArchive)).toBe(false); expect(isPostType(dateArchiveWithSearchData)).toBe(false); // Post Types. expect(isPostType(postType)).toBe(true); expect(isPostType(post)).toBe(true); expect(isPostType(page)).toBe(true); expect(isPostType(attachment)).toBe(true); // Redirection Type expect(isPostType(redirection)).toBe(false); }); test("`isPost` should recognize post data", () => { expect(isPost(onlyStatus)).toBe(false); // Error. expect(isPost(notFound)).toBe(false); // Terms. expect(isPost(term)).toBe(false); expect(isPost(termWithSearchData)).toBe(false); expect(isPost(category)).toBe(false); expect(isPost(categoryWithSearchData)).toBe(false); expect(isPost(tag)).toBe(false); expect(isPost(tagWithSearchData)).toBe(false); // Deprecated Taxonomy expect(isPost(oldTaxonomy)).toBe(false); // Author expect(isPost(author)).toBe(false); expect(isPost(authorWithSearchData)).toBe(false); // Post Type archive expect(isPost(postTypeArchive)).toBe(false); expect(isPost(postTypeArchiveWithSearchData)).toBe(false); expect(isPost(postArchive)).toBe(false); expect(isPost(postArchiveWithSearchData)).toBe(false); // Date Archive expect(isPost(dateArchive)).toBe(false); expect(isPost(dateArchiveWithSearchData)).toBe(false); // Post Types. expect(isPost(postType)).toBe(false); expect(isPost(post)).toBe(true); expect(isPost(page)).toBe(false); expect(isPost(attachment)).toBe(false); // Redirection Type expect(isPost(redirection)).toBe(false); }); test("`isPage` should recognize page data", () => { expect(isPage(onlyStatus)).toBe(false); // Error. expect(isPage(notFound)).toBe(false); // Terms. expect(isPage(term)).toBe(false); expect(isPage(termWithSearchData)).toBe(false); expect(isPage(category)).toBe(false); expect(isPage(categoryWithSearchData)).toBe(false); expect(isPage(tag)).toBe(false); expect(isPage(tagWithSearchData)).toBe(false); // Deprecated Taxonomy expect(isPage(oldTaxonomy)).toBe(false); // Author expect(isPage(author)).toBe(false); expect(isPage(authorWithSearchData)).toBe(false); // Post Type archive expect(isPage(postTypeArchive)).toBe(false); expect(isPage(postTypeArchiveWithSearchData)).toBe(false); expect(isPage(postArchive)).toBe(false); expect(isPage(postArchiveWithSearchData)).toBe(false); // Date Archive expect(isPage(dateArchive)).toBe(false); expect(isPage(dateArchiveWithSearchData)).toBe(false); // Post Types. expect(isPage(postType)).toBe(false); expect(isPage(post)).toBe(false); expect(isPage(page)).toBe(true); expect(isPage(attachment)).toBe(false); // Redirection Type expect(isPage(redirection)).toBe(false); }); test("`isAttachment` should recognize attachment data", () => { expect(isAttachment(onlyStatus)).toBe(false); // Error. expect(isAttachment(notFound)).toBe(false); // Terms. expect(isAttachment(term)).toBe(false); expect(isAttachment(termWithSearchData)).toBe(false); expect(isAttachment(category)).toBe(false); expect(isAttachment(categoryWithSearchData)).toBe(false); expect(isAttachment(tag)).toBe(false); expect(isAttachment(tagWithSearchData)).toBe(false); // Deprecated Taxonomy expect(isAttachment(oldTaxonomy)).toBe(false); // Author expect(isAttachment(author)).toBe(false); expect(isAttachment(authorWithSearchData)).toBe(false); // Post Type archive expect(isAttachment(postTypeArchive)).toBe(false); expect(isAttachment(postTypeArchiveWithSearchData)).toBe(false); expect(isAttachment(postArchive)).toBe(false); expect(isAttachment(postArchiveWithSearchData)).toBe(false); // Date Archive expect(isAttachment(dateArchive)).toBe(false); expect(isAttachment(dateArchiveWithSearchData)).toBe(false); // Post Types. expect(isAttachment(postType)).toBe(false); expect(isAttachment(post)).toBe(false); expect(isAttachment(page)).toBe(false); expect(isAttachment(attachment)).toBe(true); // Redirection Type expect(isAttachment(redirection)).toBe(false); }); test("`isHome` should recognize the home data", () => { expect(isHome(onlyStatus)).toBe(false); // Error. expect(isHome(notFound)).toBe(false); // Terms. expect(isHome(term)).toBe(false); expect(isHome(termWithSearchData)).toBe(false); expect(isHome(category)).toBe(false); expect(isHome(categoryWithSearchData)).toBe(false); expect(isHome(tag)).toBe(false); expect(isHome(tagWithSearchData)).toBe(false); // Deprecated Taxonomy expect(isHome(oldTaxonomy)).toBe(false); // Author expect(isHome(author)).toBe(false); expect(isHome(authorWithSearchData)).toBe(false); // Post Type archive expect(isHome(postTypeArchive)).toBe(false); expect(isHome(postTypeArchiveWithSearchData)).toBe(false); expect(isHome(postArchive)).toBe(true); expect(isHome(postArchiveWithSearchData)).toBe(true); // Date Archive expect(isHome(dateArchive)).toBe(false); expect(isHome(dateArchiveWithSearchData)).toBe(false); // Post Types. expect(isHome(postType)).toBe(false); expect(isHome(post)).toBe(false); expect(isHome(page)).toBe(false); expect(isHome(attachment)).toBe(false); // Redirection Type expect(isHome(redirection)).toBe(false); }); test("`isRedirection` should recognize the redirection data", () => { expect(isRedirection(onlyStatus)).toBe(false); // Error. expect(isRedirection(notFound)).toBe(false); // Terms. expect(isRedirection(term)).toBe(false); expect(isRedirection(termWithSearchData)).toBe(false); expect(isRedirection(category)).toBe(false); expect(isRedirection(categoryWithSearchData)).toBe(false); expect(isRedirection(tag)).toBe(false); expect(isRedirection(tagWithSearchData)).toBe(false); // Deprecated Taxonomy expect(isRedirection(oldTaxonomy)).toBe(false); // Author expect(isRedirection(author)).toBe(false); expect(isRedirection(authorWithSearchData)).toBe(false); // Post Type archive expect(isRedirection(postTypeArchive)).toBe(false); expect(isRedirection(postTypeArchiveWithSearchData)).toBe(false); expect(isRedirection(postArchive)).toBe(false); expect(isRedirection(postArchiveWithSearchData)).toBe(false); // Date Archive expect(isRedirection(dateArchive)).toBe(false); expect(isRedirection(dateArchiveWithSearchData)).toBe(false); // Post Types. expect(isRedirection(postType)).toBe(false); expect(isRedirection(post)).toBe(false); expect(isRedirection(page)).toBe(false); expect(isRedirection(attachment)).toBe(false); expect(isRedirection(attachment)).toBe(false); // Redirection Type expect(isRedirection(redirection)).toBe(true); }); });