diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/models/readme.js | 8 | ||||
-rw-r--r-- | lib/parse/__tests__/parseReadme.js | 38 |
2 files changed, 46 insertions, 0 deletions
diff --git a/lib/models/readme.js b/lib/models/readme.js index 7a184c4..4ad3992 100644 --- a/lib/models/readme.js +++ b/lib/models/readme.js @@ -12,6 +12,14 @@ Readme.prototype.getFile = function() { return this.get('file'); }; +Readme.prototype.getTitle = function() { + return this.get('title'); +}; + +Readme.prototype.getDescription = function() { + return this.get('description'); +}; + /** Create a new readme diff --git a/lib/parse/__tests__/parseReadme.js b/lib/parse/__tests__/parseReadme.js new file mode 100644 index 0000000..7d7c631 --- /dev/null +++ b/lib/parse/__tests__/parseReadme.js @@ -0,0 +1,38 @@ +jest.autoMockOff(); + +var Promise = require('../../utils/promise'); +var Book = require('../../models/book'); +var createMockFS = require('../../fs/mock'); + +describe('parseReadme', function() { + var parseReadme = require('../parseReadme'); + + pit('should parse summary if exists', function() { + var fs = createMockFS({ + 'README.md': '# Hello\n\nAnd here is the description.' + }); + var book = Book.createForFS(fs); + + return parseReadme(book) + .then(function(resultBook) { + var readme = resultBook.getReadme(); + var file = readme.getFile(); + + expect(file.exists()).toBeTruthy(); + expect(readme.getTitle()).toBe('Hello'); + expect(readme.getDescription()).toBe('And here is the description.'); + }); + }); + + pit('should fail if doesn\'t exist', function() { + var fs = createMockFS({}); + var book = Book.createForFS(fs); + + return parseReadme(book) + .then(function(resultBook) { + throw new Error('It should have fail'); + }, function() { + return Promise(); + }); + }); +}); |