UNPKG

yoastseo-dep

Version:

Yoast clientside page analysis

66 lines (51 loc) 3.47 kB
import Paper from "../../../../src/values/Paper.js"; import Factory from "../../../specHelpers/factory.js"; import { getTextLengthAssessment } from "../../../../src/scoring/taxonomyAssessor"; describe( "A taxonomy page text length assessment.", function() { let assessment; beforeEach( () => { // Taxonomy assessor has a text length assessment with specific boundaries. assessment = getTextLengthAssessment(); } ); it( "assesses a single word", function() { const mockPaper = new Paper( "sample" ); const result = assessment.getResult( mockPaper, Factory.buildMockResearcher( { count: 1, unit: "word" } ) ); expect( result.getScore() ).toEqual( -20 ); expect( result.getText() ).toEqual( "<a href='https://yoa.st/34j' target='_blank'>Text length</a>: The text contains 1 word. " + "This is far below the recommended minimum of 250 words. <a href='https://yoa.st/34k' target='_blank'>Add more content</a>." ); } ); it( "assesses a couple of words", function() { const mockPaper = new Paper( "sample" ); const result = assessment.getResult( mockPaper, Factory.buildMockResearcher( { count: 5, unit: "word" } ) ); expect( result.getScore() ).toEqual( -20 ); expect( result.getText() ).toEqual( "<a href='https://yoa.st/34j' target='_blank'>Text length</a>: The text contains 5 words. " + "This is far below the recommended minimum of 250 words. <a href='https://yoa.st/34k' target='_blank'>Add more content</a>." ); } ); it( "assesses words far below the minimum.", function() { const mockPaper = new Paper( "sample" ); const result = assessment.getResult( mockPaper, Factory.buildMockResearcher( { count: 51, unit: "word" } ) ); expect( result.getScore() ).toEqual( -10 ); expect( result.getText() ).toEqual( "<a href='https://yoa.st/34j' target='_blank'>Text length</a>: The text contains 51 words. " + "This is far below the recommended minimum of 250 words. <a href='https://yoa.st/34k' target='_blank'>Add more content</a>." ); } ); it( "assesses words below the minimum.", function() { const mockPaper = new Paper( "sample" ); const result = assessment.getResult( mockPaper, Factory.buildMockResearcher( { count: 101, unit: "word" } ) ); expect( result.getScore() ).toEqual( 3 ); expect( result.getText() ).toEqual( "<a href='https://yoa.st/34j' target='_blank'>Text length</a>: The text contains 101 words. " + "This is below the recommended minimum of 250 words. <a href='https://yoa.st/34k' target='_blank'>Add more content</a>." ); } ); it( "assesses words slightly below the minimum.", function() { const mockPaper = new Paper( "sample" ); const result = assessment.getResult( mockPaper, Factory.buildMockResearcher( { count: 201, unit: "word" } ) ); expect( result.getScore() ).toEqual( 6 ); expect( result.getText() ).toEqual( "<a href='https://yoa.st/34j' target='_blank'>Text length</a>: The text contains 201 words. " + "This is slightly below the recommended minimum of 250 words. <a href='https://yoa.st/34k' target='_blank'>Add a bit more copy</a>." ); } ); it( "assesses words above the minimum.", function() { const mockPaper = new Paper( "sample" ); const result = assessment.getResult( mockPaper, Factory.buildMockResearcher( { count: 251, unit: "word" } ) ); expect( result.getScore() ).toEqual( 9 ); expect( result.getText() ).toEqual( "<a href='https://yoa.st/34j' target='_blank'>Text length</a>: The text contains 251 words. Good job!" ); } ); } );