This commit updates the preview server tests to take advantage of features supported in the latest version of Jasmine that were not supported when the rests were first written. Changes include: - Use [async/await] in tests. - Use the new [toBeInstanceOf()] and [toHaveBeenCalledBefore()] matchers. - Use the new [toBeResolved()] and [toBeRejected()] async matchers (and their variants). - Use the new [withArgs()] method of `Spy` to simplify "trained" responses. - Use the new [resolveTo()]/[rejectWith()] methods of `SpyStrategy` (and their variants) to simplify promise-based spies. - Implement custom async matchers (via [addAsyncMatchers()]) to simplify certain tests. [addAsyncMatchers()]: https://jasmine.github.io/api/3.5/jasmine.html#.addAsyncMatchers [async/await]: https://jasmine.github.io/tutorials/async [rejectWith()]: https://jasmine.github.io/api/3.5/SpyStrategy.html#rejectWith [resolveTo()]: https://jasmine.github.io/api/3.5/SpyStrategy.html#resolveTo [toBeInstanceOf()]: https://jasmine.github.io/api/3.5/matchers.html#toBeInstanceOf [toBeRejected()]: https://jasmine.github.io/api/3.5/async-matchers.html#toBeRejected [toBeResolved()]: https://jasmine.github.io/api/3.5/async-matchers.html#toBeResolved [toHaveBeenCalledBefore()]: https://jasmine.github.io/api/3.5/matchers.html#toHaveBeenCalledBefore [withArgs()]: https://jasmine.github.io/api/3.5/Spy.html#withArgs PR Close #36837
		
			
				
	
	
		
			40 lines
		
	
	
		
			941 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			941 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| // Imports
 | |
| import {PreviewServerError} from '../../lib/preview-server/preview-error';
 | |
| 
 | |
| // Tests
 | |
| describe('PreviewServerError', () => {
 | |
|   let err: PreviewServerError;
 | |
| 
 | |
|   beforeEach(() => err = new PreviewServerError(999, 'message'));
 | |
| 
 | |
| 
 | |
|   it('should extend Error', () => {
 | |
|     expect(err).toBeInstanceOf(PreviewServerError);
 | |
|     expect(err).toBeInstanceOf(Error);
 | |
| 
 | |
|     expect(Object.getPrototypeOf(err)).toBe(PreviewServerError.prototype);
 | |
|   });
 | |
| 
 | |
| 
 | |
|   it('should have a \'status\' property', () => {
 | |
|     expect(err.status).toBe(999);
 | |
|   });
 | |
| 
 | |
| 
 | |
|   it('should have a \'message\' property', () => {
 | |
|     expect(err.message).toBe('message');
 | |
|   });
 | |
| 
 | |
| 
 | |
|   it('should have a 500 \'status\' by default', () => {
 | |
|     expect(new PreviewServerError().status).toBe(500);
 | |
|   });
 | |
| 
 | |
| 
 | |
|   it('should have an empty \'message\' by default', () => {
 | |
|     expect(new PreviewServerError().message).toBe('');
 | |
|     expect(new PreviewServerError(999).message).toBe('');
 | |
|   });
 | |
| 
 | |
| });
 |