mirror of
				https://github.com/mmumshad/ansible-playable.git
				synced 2025-03-09 23:38:54 +00:00 
			
		
		
		
	Update server side test cases and disable client side tests for now. Integrate later.
This commit is contained in:
		
							parent
							
								
									ab295a073a
								
							
						
					
					
						commit
						9c880c0bba
					
				
					 13 changed files with 588 additions and 318 deletions
				
			
		|  | @ -4,16 +4,92 @@ | |||
| 
 | ||||
| var app = require('../..'); | ||||
| import request from 'supertest'; | ||||
| import Project from './project.model'; | ||||
| import User from '../user/user.model'; | ||||
| 
 | ||||
| var newProject; | ||||
| 
 | ||||
| describe('Project API:', function() { | ||||
|   var token; | ||||
|   var user; | ||||
| 
 | ||||
|   // Clear users before testing
 | ||||
|   before(function() { | ||||
|     return User.remove().then(function() { | ||||
|       user = new User({ | ||||
|         name: 'Fake User', | ||||
|         email: 'test@example.com', | ||||
|         password: 'password' | ||||
|       }); | ||||
| 
 | ||||
|       return user.save(); | ||||
|     }); | ||||
|   }); | ||||
| 
 | ||||
|   // Clear users after testing
 | ||||
|   after(function() { | ||||
|     return User.remove(); | ||||
|   }); | ||||
| 
 | ||||
|   describe('GET /api/users/me', function() { | ||||
| 
 | ||||
|     before(function(done) { | ||||
|       request(app) | ||||
|         .post('/auth/local') | ||||
|         .send({ | ||||
|           email: 'test@example.com', | ||||
|           password: 'password' | ||||
|         }) | ||||
|         .expect(200) | ||||
|         .expect('Content-Type', /json/) | ||||
|         .end((err, res) => { | ||||
|           token = res.body.token; | ||||
|           done(); | ||||
|         }); | ||||
|     }); | ||||
| 
 | ||||
|     it('should respond with a user profile when authenticated', function(done) { | ||||
|       request(app) | ||||
|         .get('/api/users/me') | ||||
|         .set('authorization', `Bearer ${token}`) | ||||
|         .expect(200) | ||||
|         .expect('Content-Type', /json/) | ||||
|         .end((err, res) => { | ||||
|           expect(res.body._id.toString()).to.equal(user._id.toString()); | ||||
|           done(); | ||||
|         }); | ||||
|     }); | ||||
| 
 | ||||
|     it('should respond with a 401 when not authenticated', function(done) { | ||||
|       request(app) | ||||
|         .get('/api/users/me') | ||||
|         .expect(401) | ||||
|         .end(done); | ||||
|     }); | ||||
|   }); | ||||
| 
 | ||||
|   describe('GET /api/projects', function() { | ||||
|     var projects; | ||||
| 
 | ||||
|     // Clear Projects before testing
 | ||||
|     before(function() { | ||||
|       return Project.remove().then(function() { | ||||
|         var project = new Project({ | ||||
|           name: 'FakeProject', | ||||
|           info: 'Test Project', | ||||
|           ansibleEngine: { | ||||
|             'host' : '' | ||||
|           } | ||||
|         }); | ||||
| 
 | ||||
|         return project.save(); | ||||
|       }); | ||||
|     }); | ||||
| 
 | ||||
|     beforeEach(function(done) { | ||||
|       request(app) | ||||
|         .get('/api/projects') | ||||
|         .set('authorization', `Bearer ${token}`) | ||||
|         .expect(200) | ||||
|         .expect('Content-Type', /json/) | ||||
|         .end((err, res) => { | ||||
|  | @ -34,9 +110,13 @@ describe('Project API:', function() { | |||
|     beforeEach(function(done) { | ||||
|       request(app) | ||||
|         .post('/api/projects') | ||||
|         .set('authorization', `Bearer ${token}`) | ||||
|         .send({ | ||||
|           name: 'New Project', | ||||
|           info: 'This is the brand new project!!!' | ||||
|           name: 'NewProject', | ||||
|           info: 'This is the brand new project!!!', | ||||
|           ansibleEngine: { | ||||
|             'host' : '' | ||||
|           } | ||||
|         }) | ||||
|         .expect(201) | ||||
|         .expect('Content-Type', /json/) | ||||
|  | @ -50,7 +130,7 @@ describe('Project API:', function() { | |||
|     }); | ||||
| 
 | ||||
|     it('should respond with the newly created project', function() { | ||||
|       expect(newProject.name).to.equal('New Project'); | ||||
|       expect(newProject.name).to.equal('NewProject'); | ||||
|       expect(newProject.info).to.equal('This is the brand new project!!!'); | ||||
|     }); | ||||
|   }); | ||||
|  | @ -61,6 +141,7 @@ describe('Project API:', function() { | |||
|     beforeEach(function(done) { | ||||
|       request(app) | ||||
|         .get(`/api/projects/${newProject._id}`) | ||||
|         .set('authorization', `Bearer ${token}`) | ||||
|         .expect(200) | ||||
|         .expect('Content-Type', /json/) | ||||
|         .end((err, res) => { | ||||
|  | @ -77,7 +158,7 @@ describe('Project API:', function() { | |||
|     }); | ||||
| 
 | ||||
|     it('should respond with the requested project', function() { | ||||
|       expect(project.name).to.equal('New Project'); | ||||
|       expect(project.name).to.equal('NewProject'); | ||||
|       expect(project.info).to.equal('This is the brand new project!!!'); | ||||
|     }); | ||||
|   }); | ||||
|  | @ -88,6 +169,7 @@ describe('Project API:', function() { | |||
|     beforeEach(function(done) { | ||||
|       request(app) | ||||
|         .put(`/api/projects/${newProject._id}`) | ||||
|         .set('authorization', `Bearer ${token}`) | ||||
|         .send({ | ||||
|           name: 'Updated Project', | ||||
|           info: 'This is the updated project!!!' | ||||
|  | @ -115,6 +197,7 @@ describe('Project API:', function() { | |||
|     it('should respond with the updated project on a subsequent GET', function(done) { | ||||
|       request(app) | ||||
|         .get(`/api/projects/${newProject._id}`) | ||||
|         .set('authorization', `Bearer ${token}`) | ||||
|         .expect(200) | ||||
|         .expect('Content-Type', /json/) | ||||
|         .end((err, res) => { | ||||
|  | @ -137,6 +220,7 @@ describe('Project API:', function() { | |||
|     beforeEach(function(done) { | ||||
|       request(app) | ||||
|         .patch(`/api/projects/${newProject._id}`) | ||||
|         .set('authorization', `Bearer ${token}`) | ||||
|         .send([ | ||||
|           { op: 'replace', path: '/name', value: 'Patched Project' }, | ||||
|           { op: 'replace', path: '/info', value: 'This is the patched project!!!' } | ||||
|  | @ -166,6 +250,7 @@ describe('Project API:', function() { | |||
|     it('should respond with 204 on successful removal', function(done) { | ||||
|       request(app) | ||||
|         .delete(`/api/projects/${newProject._id}`) | ||||
|         .set('authorization', `Bearer ${token}`) | ||||
|         .expect(204) | ||||
|         .end(err => { | ||||
|           if(err) { | ||||
|  | @ -178,6 +263,7 @@ describe('Project API:', function() { | |||
|     it('should respond with 404 when project does not exist', function(done) { | ||||
|       request(app) | ||||
|         .delete(`/api/projects/${newProject._id}`) | ||||
|         .set('authorization', `Bearer ${token}`) | ||||
|         .expect(404) | ||||
|         .end(err => { | ||||
|           if(err) { | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue