46 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			46 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								/* global expect*/
							 | 
						||
| 
								 | 
							
								const getId = require('./get-id');
							 | 
						||
| 
								 | 
							
								const idNode = require('./__fixtures__/id-node.json');
							 | 
						||
| 
								 | 
							
								const imageNode = require('./__fixtures__/image-node.json');
							 | 
						||
| 
								 | 
							
								const multipleChildrenNode = require('./__fixtures__/multiple-children.json');
							 | 
						||
| 
								 | 
							
								const nonIdNode = require('./__fixtures__/non-id-node.json');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								describe('get-id', () => {
							 | 
						||
| 
								 | 
							
								  it('should return a string', () => {
							 | 
						||
| 
								 | 
							
								    expect.assertions(1);
							 | 
						||
| 
								 | 
							
								    const actual = getId(idNode);
							 | 
						||
| 
								 | 
							
								    expect(typeof actual).toBe('string');
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  it('should get the expected identifier', () => {
							 | 
						||
| 
								 | 
							
								    expect.assertions(1);
							 | 
						||
| 
								 | 
							
								    const actual = getId(idNode);
							 | 
						||
| 
								 | 
							
								    expect(actual).toBe('html-key');
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  it('should return null if the node does contain an id', () => {
							 | 
						||
| 
								 | 
							
								    expect.assertions(1);
							 | 
						||
| 
								 | 
							
								    const actual = getId(nonIdNode);
							 | 
						||
| 
								 | 
							
								    expect(actual).toBeNull();
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  // TODO: bin this (and the json!) after development (it'll be a silly test
							 | 
						||
| 
								 | 
							
								  // once we're using directives)
							 | 
						||
| 
								 | 
							
								  it('should ignore image nodes', () => {
							 | 
						||
| 
								 | 
							
								    expect.assertions(1);
							 | 
						||
| 
								 | 
							
								    const actual = getId(imageNode);
							 | 
						||
| 
								 | 
							
								    expect(actual).toBeNull();
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  // TODO: bin this (and the json!) after development (it'll be a silly test
							 | 
						||
| 
								 | 
							
								  // once we're using directives)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  // TODO: do we want to fail silently? Might it be better to output warnings
							 | 
						||
| 
								 | 
							
								  // or perhaps even stop the parser? Probably warnings if anything.
							 | 
						||
| 
								 | 
							
								  it('should ignore paragraphs that contain more than the id element', () => {
							 | 
						||
| 
								 | 
							
								    expect.assertions(1);
							 | 
						||
| 
								 | 
							
								    const actual = getId(multipleChildrenNode);
							 | 
						||
| 
								 | 
							
								    expect(actual).toBeNull();
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								});
							 |