Skip to content

Commit

Permalink
✅ Add tests for questions
Browse files Browse the repository at this point in the history
  • Loading branch information
Franck committed Jun 9, 2019
1 parent 0e18c2e commit 576a290
Show file tree
Hide file tree
Showing 11 changed files with 229 additions and 0 deletions.
17 changes: 17 additions & 0 deletions src/questions/author-github.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
const askAuthorGithub = require('./author-github')

describe('askAuthorGithub', () => {
it('should return correct question format', () => {
const githubUsername = 'kefranabg'
const projectInfos = { githubUsername }

const result = askAuthorGithub(projectInfos)

expect(result).toEqual({
type: 'input',
message: '👤 Github username (use empty value to skip)',
name: 'authorGithubUsername',
default: githubUsername
})
})
})
17 changes: 17 additions & 0 deletions src/questions/author-name.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
const askAuthorName = require('./author-name')

describe('askAuthorName', () => {
it('should return correct question format', () => {
const author = 'Franck Abgrall'
const projectInfos = { author }

const result = askAuthorName(projectInfos)

expect(result).toEqual({
type: 'input',
message: '👤 Author name',
name: 'authorName',
default: author
})
})
})
13 changes: 13 additions & 0 deletions src/questions/author-twitter.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
const askAuthorTwitter = require('./author-twitter')

describe('askAuthorTwitter', () => {
it('should return correct question format', () => {
const result = askAuthorTwitter()

expect(result).toEqual({
type: 'input',
message: '🐦 Twitter username (use empty value to skip)',
name: 'authorTwitterUsername'
})
})
})
18 changes: 18 additions & 0 deletions src/questions/contributing.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
const askContributing = require('./contributing')

describe('askContributing', () => {
it('should return correct question format', () => {
const contributingUrl =
'https://github.com/kefranabg/readme-md-generator/issues'
const projectInfos = { contributingUrl }

const result = askContributing(projectInfos)

expect(result).toEqual({
type: 'input',
message: '🔧 Issues page url (use empty value to skip)',
name: 'contributingUrl',
default: contributingUrl
})
})
})
17 changes: 17 additions & 0 deletions src/questions/license-name.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
const askLicenseName = require('./license-name')

describe('askLicenseName', () => {
it('should return correct question format', () => {
const licenseName = 'MIT'
const projectInfos = { licenseName }

const result = askLicenseName(projectInfos)

expect(result).toEqual({
type: 'input',
message: '🔒 License name (use empty value to skip)',
name: 'licenseName',
default: licenseName
})
})
})
30 changes: 30 additions & 0 deletions src/questions/license-url.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
const askLicenseUrl = require('./license-url')

describe('askLicenseUrl', () => {
it('should return correct question format', () => {
const licenseUrl =
'https://github.com/kefranabg/readme-md-generator/blob/master/LICENSE'
const projectInfos = { licenseUrl }
const answersContext = { licenseName: 'MIT' }

const result = askLicenseUrl(projectInfos, answersContext)

expect(result).toEqual({
type: 'input',
message: '🔒 License url (use empty value to skip)',
name: 'licenseUrl',
default: licenseUrl
})
})

it('should return undefined', () => {
const licenseUrl =
'https://github.com/kefranabg/readme-md-generator/blob/master/LICENSE'
const projectInfos = { licenseUrl }
const answersContext = { licenseName: '' }

const result = askLicenseUrl(projectInfos, answersContext)

expect(result).toBe(undefined)
})
})
17 changes: 17 additions & 0 deletions src/questions/project-description.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
const askProjectDescription = require('./project-description')

describe('askProjectDescription', () => {
it('should return correct question format', () => {
const description = 'description'
const projectInfos = { description }

const result = askProjectDescription(projectInfos)

expect(result).toEqual({
type: 'input',
message: '📄 Project description',
name: 'projectDescription',
default: description
})
})
})
17 changes: 17 additions & 0 deletions src/questions/project-documentation-url.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
const askProjectName = require('./project-name')

describe('askProjectName', () => {
it('should return correct question format', () => {
const name = 'readme-md-generator'
const projectInfos = { name }

const result = askProjectName(projectInfos)

expect(result).toEqual({
type: 'input',
message: '💡 Project name',
name: 'projectName',
default: name
})
})
})
18 changes: 18 additions & 0 deletions src/questions/project-name.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
const askProjectDocumentationUrl = require('./project-documentation-url')

describe('askProjectDocumentationUrl', () => {
it('should return correct question format', () => {
const documentationUrl =
'https://github.com/kefranabg/readme-md-generator/blob/master/README.md'
const projectInfos = { documentationUrl }

const result = askProjectDocumentationUrl(projectInfos)

expect(result).toEqual({
type: 'input',
message: '📘 Project documentation url (use empty value to skip)',
name: 'projectDocumentationUrl',
default: documentationUrl
})
})
})
48 changes: 48 additions & 0 deletions src/questions/project-prerequisites.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
const askProjectPrerequisites = require('./project-prerequisites')

describe('askProjectPrerequisites', () => {
it('should return correct question format', () => {
const engines = {
npm: '>=5.5.0',
node: '>=9.3.0'
}
const projectInfos = { engines }

const result = askProjectPrerequisites(projectInfos)

expect(result).toEqual({
type: 'checkbox',
message: '⚠️ Project prerequisites',
name: 'projectPrerequisites',
choices: [
{
checked: true,
name: 'npm >=5.5.0',
value: 'npm >=5.5.0'
},
{
checked: true,
name: 'node >=9.3.0',
value: 'node >=9.3.0'
}
]
})
})

it('should return undefined when engines property is empty object', () => {
const engines = {}
const projectInfos = { engines }

const result = askProjectPrerequisites(projectInfos)

expect(result).toEqual(undefined)
})

it('should return undefined when engines property is not defined', () => {
const projectInfos = {}

const result = askProjectPrerequisites(projectInfos)

expect(result).toEqual(undefined)
})
})
17 changes: 17 additions & 0 deletions src/questions/project-version.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
const askProjectVersion = require('./project-version')

describe('askProjectVersion', () => {
it('should return correct question format', () => {
const version = '1.0.0'
const projectInfos = { version }

const result = askProjectVersion(projectInfos)

expect(result).toEqual({
type: 'input',
message: 'ℹ️ Project version (use empty value to skip)',
name: 'projectVersion',
default: version
})
})
})

0 comments on commit 576a290

Please sign in to comment.