test(postpublish): initial scenario
This commit is contained in:
		
							parent
							
								
									7380d586ee
								
							
						
					
					
						commit
						3799ad0cb6
					
				| @ -6,3 +6,4 @@ var createModule = require('./lib/create-module') | ||||
| 
 | ||||
| require('./scenarios/install')(test, createModule) | ||||
| require('./scenarios/prepublish')(test, createModule) | ||||
| require('./scenarios/postpublish')(test, createModule) | ||||
|  | ||||
| @ -7,10 +7,10 @@ var efh = require('error-first-handler') | ||||
| var defaults = require('lodash.defaults') | ||||
| var uid = require('nano-uid')() | ||||
| 
 | ||||
| module.exports = function (pkg) { | ||||
| module.exports = function (input) { | ||||
|   var cb = Array.prototype.pop.call(arguments) | ||||
|   uid.generate(5, efh(cb)(function (id) { | ||||
|     var pkg = defaults((typeof pkg === 'object' ? pkg : {}), { | ||||
|     var pkg = defaults((typeof input === 'object' ? input : {}), { | ||||
|       name: id, | ||||
|       version: '0.0.0', | ||||
|       devDependencies: { | ||||
|  | ||||
							
								
								
									
										57
									
								
								tests/scenarios/postpublish.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								tests/scenarios/postpublish.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,57 @@ | ||||
| 'use strict' | ||||
| 
 | ||||
| var efh = require('error-first-handler') | ||||
| var GitHubApi = require('github') | ||||
| var nixt = require('nixt') | ||||
| 
 | ||||
| var github = new GitHubApi({ | ||||
|   version: '3.0.0', | ||||
|   port: 4343, | ||||
|   protocol: 'http', | ||||
|   host: '127.0.0.1' | ||||
| }) | ||||
| 
 | ||||
| github.authenticate({ | ||||
|   type: 'oauth', | ||||
|   token: '***' | ||||
| }) | ||||
| 
 | ||||
| module.exports = function (test, createModule) { | ||||
|   createModule({ | ||||
|     version: '2.0.0', | ||||
|     repository: { | ||||
|       type: 'git', | ||||
|       url: 'http://github.com/user/repo' | ||||
|     } | ||||
|   }, efh()(function (name, cwd) { | ||||
|     test('postpublish', function (t) { | ||||
|       t.test('publish new version to github releases', function (t) { | ||||
|         t.plan(1) | ||||
| 
 | ||||
|         nixt() | ||||
|           .cwd(cwd) | ||||
|           .env('CI', true) | ||||
|           .env('GH_URL', 'http://127.0.0.1:4343/') | ||||
|           .env('GH_TOKEN', '***') | ||||
|           .exec('git commit --allow-empty -m "feat(cool): the next big thing"') | ||||
|           .run('npm run postpublish') | ||||
|           .code(0) | ||||
|           .stdout(/> semantic-release post\n\nGenerating changelog from.*\nParsed/m) | ||||
|           .end(function(err) { | ||||
|             t.error(err, 'nixt') | ||||
|           }) | ||||
|       }) | ||||
| 
 | ||||
|       t.test('correct data published', function (t) { | ||||
|         t.plan(4) | ||||
| 
 | ||||
|         github.releases.getRelease({ owner: 'user', repo: 'repo', id: 1}, function (err, res) { | ||||
|           t.error(err, 'github') | ||||
|           t.is(res.tag_name, 'v2.0.0', 'version') | ||||
|           t.is(res.author.login, 'user', 'user') | ||||
|           t.ok(/\n\n\n#### Features\n\n\* \*\*cool:\*\* the next big thing/.test(res.body), 'body') | ||||
|         }) | ||||
|       }) | ||||
|     }) | ||||
|   })) | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user