diff options
Diffstat (limited to 'lib/models/__tests__/summary.js')
-rw-r--r-- | lib/models/__tests__/summary.js | 77 |
1 files changed, 55 insertions, 22 deletions
diff --git a/lib/models/__tests__/summary.js b/lib/models/__tests__/summary.js index e641efe..b808307 100644 --- a/lib/models/__tests__/summary.js +++ b/lib/models/__tests__/summary.js @@ -4,35 +4,68 @@ describe('Summary', function() { var File = require('../file'); var Summary = require('../summary'); - describe('createFromEntries', function() { - var summary = Summary.createFromParts(File(), [ - { - articles: [ - { - title: 'My First Article', - path: 'README.md' - }, - { - title: 'My Second Article', - path: 'article.md' - } - ] - }, - { - title: 'Test' - } - ]); + var summary = Summary.createFromParts(File(), [ + { + articles: [ + { + title: 'My First Article', + path: 'README.md' + }, + { + title: 'My Second Article', + path: 'article.md' + } + ] + }, + { + title: 'Test' + } + ]); + describe('createFromEntries', function() { it('must add all parts', function() { var parts = summary.getParts(); expect(parts.size).toBe(2); }); + }); + + describe('getByLevel', function() { + it('can return a Part', function() { + var part = summary.getByLevel('1'); + + expect(part).toBeDefined(); + expect(part.getArticles().size).toBe(2); + }); + + it('can return a Part (2)', function() { + var part = summary.getByLevel('2'); + + expect(part).toBeDefined(); + expect(part.getTitle()).toBe('Test'); + expect(part.getArticles().size).toBe(0); + }); + + it('can return an Article', function() { + var article = summary.getByLevel('1.1'); + + expect(article).toBeDefined(); + expect(article.getTitle()).toBe('My First Article'); + }); + }); + + describe('getByPath', function() { + it('return correct article', function() { + var article = summary.getByPath('README.md'); + + expect(article).toBeDefined(); + expect(article.getTitle()).toBe('My First Article'); + }); - it('must index by level', function() { - var part1 = summary.getByLevel('0'); + it('return correct article', function() { + var article = summary.getByPath('article.md'); - expect(part1).toBeDefined(); - expect(part1.getArticles().size).toBe(2); + expect(article).toBeDefined(); + expect(article.getTitle()).toBe('My Second Article'); }); }); }); |