[Test] Add some tests
This commit is contained in:
		
							parent
							
								
									af08b2d8d1
								
							
						
					
					
						commit
						5b21a8c0fb
					
				
					 1 changed files with 86 additions and 0 deletions
				
			
		
							
								
								
									
										86
									
								
								test/api.js
									
										
									
									
									
								
							
							
						
						
									
										86
									
								
								test/api.js
									
										
									
									
									
								
							|  | @ -365,6 +365,92 @@ describe('API', () => { | |||
| 			}); | ||||
| 		})); | ||||
| 	}); | ||||
| 
 | ||||
| 	describe('following/delete', () => { | ||||
| 		it('フォロー解除できる', () => new Promise(async (done) => { | ||||
| 			const hima = await insertHimawari(); | ||||
| 			const me = await insertSakurako(); | ||||
| 			await db.get('following').insert({ | ||||
| 				followee_id: hima._id, | ||||
| 				follower_id: me._id | ||||
| 			}); | ||||
| 			request('/following/delete', { | ||||
| 				user_id: hima._id.toString() | ||||
| 			}, me).then(res => { | ||||
| 				res.should.have.status(204); | ||||
| 				done(); | ||||
| 			}); | ||||
| 		})); | ||||
| 
 | ||||
| 		it('過去にフォロー歴があった状態でフォロー解除できる', () => new Promise(async (done) => { | ||||
| 			const hima = await insertHimawari(); | ||||
| 			const me = await insertSakurako(); | ||||
| 			await db.get('following').insert({ | ||||
| 				followee_id: hima._id, | ||||
| 				follower_id: me._id, | ||||
| 				deleted_at: new Date() | ||||
| 			}); | ||||
| 			await db.get('following').insert({ | ||||
| 				followee_id: hima._id, | ||||
| 				follower_id: me._id | ||||
| 			}); | ||||
| 			request('/following/delete', { | ||||
| 				user_id: hima._id.toString() | ||||
| 			}, me).then(res => { | ||||
| 				res.should.have.status(204); | ||||
| 				done(); | ||||
| 			}); | ||||
| 		})); | ||||
| 
 | ||||
| 		it('フォローしていない場合は怒る', () => new Promise(async (done) => { | ||||
| 			const hima = await insertHimawari(); | ||||
| 			const me = await insertSakurako(); | ||||
| 			request('/following/delete', { | ||||
| 				user_id: hima._id.toString() | ||||
| 			}, me).then(res => { | ||||
| 				res.should.have.status(400); | ||||
| 				done(); | ||||
| 			}); | ||||
| 		})); | ||||
| 
 | ||||
| 		it('存在しないユーザーはフォロー解除できない', () => new Promise(async (done) => { | ||||
| 			const me = await insertSakurako(); | ||||
| 			request('/following/delete', { | ||||
| 				user_id: '000000000000000000000000' | ||||
| 			}, me).then(res => { | ||||
| 				res.should.have.status(400); | ||||
| 				done(); | ||||
| 			}); | ||||
| 		})); | ||||
| 
 | ||||
| 		it('自分自身はフォロー解除できない', () => new Promise(async (done) => { | ||||
| 			const me = await insertSakurako(); | ||||
| 			request('/following/delete', { | ||||
| 				user_id: me._id.toString() | ||||
| 			}, me).then(res => { | ||||
| 				res.should.have.status(400); | ||||
| 				done(); | ||||
| 			}); | ||||
| 		})); | ||||
| 
 | ||||
| 		it('空のパラメータで怒られる', () => new Promise(async (done) => { | ||||
| 			const me = await insertSakurako(); | ||||
| 			request('/following/delete', {}, me).then(res => { | ||||
| 				res.should.have.status(400); | ||||
| 				done(); | ||||
| 			}); | ||||
| 		})); | ||||
| 
 | ||||
| 		it('間違ったIDで怒られる', () => new Promise(async (done) => { | ||||
| 			const me = await insertSakurako(); | ||||
| 			request('/following/delete', { | ||||
| 				user_id: 'kyoppie' | ||||
| 			}, me).then(res => { | ||||
| 				res.should.have.status(400); | ||||
| 				done(); | ||||
| 			}); | ||||
| 		})); | ||||
| 	}); | ||||
| }); | ||||
| 
 | ||||
| async function insertSakurako() { | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue