add test for compose limits
This commit is contained in:
		
							parent
							
								
									4ef576b7f1
								
							
						
					
					
						commit
						b6eb997893
					
				
					 2 changed files with 37 additions and 0 deletions
				
			
		
							
								
								
									
										34
									
								
								tests/spec/12-compose-limits.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								tests/spec/12-compose-limits.js
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,34 @@
 | 
			
		|||
import {
 | 
			
		||||
  composeButton, composeInput, composeLengthIndicator, getUrl, homeNavButton, notificationsNavButton
 | 
			
		||||
} from '../utils'
 | 
			
		||||
import { foobarRole } from '../roles'
 | 
			
		||||
import times from 'lodash/times'
 | 
			
		||||
 | 
			
		||||
fixture`12-compose-limits.js`
 | 
			
		||||
  .page`http://localhost:4002`
 | 
			
		||||
 | 
			
		||||
test('shows compose limits', async t => {
 | 
			
		||||
  await t.useRole(foobarRole)
 | 
			
		||||
    .hover(composeInput)
 | 
			
		||||
    .expect(composeLengthIndicator.innerText).eql('0')
 | 
			
		||||
    .expect(composeButton.getAttribute('disabled')).eql('')
 | 
			
		||||
    .typeText(composeInput, 'typing some text')
 | 
			
		||||
    .expect(composeLengthIndicator.innerText).eql('16')
 | 
			
		||||
    .expect(composeButton.hasAttribute('disabled')).notOk()
 | 
			
		||||
    .typeText(composeInput, times(50, () => 'hello world').join(' '), {replace: true, paste: true})
 | 
			
		||||
    .expect(composeLengthIndicator.innerText).eql('-99')
 | 
			
		||||
    .expect(composeButton.getAttribute('disabled')).eql('')
 | 
			
		||||
    .typeText(composeInput, 'hello world', {replace: true})
 | 
			
		||||
    .click(notificationsNavButton)
 | 
			
		||||
    .expect(getUrl()).contains('/notifications')
 | 
			
		||||
    .click(homeNavButton)
 | 
			
		||||
    .expect(getUrl()).eql('http://localhost:4002/')
 | 
			
		||||
    .expect(composeInput.value).eql('hello world')
 | 
			
		||||
    .expect(composeLengthIndicator.innerText).eql('11')
 | 
			
		||||
    .expect(composeButton.hasAttribute('disabled')).notOk()
 | 
			
		||||
    .selectText(composeInput)
 | 
			
		||||
    .pressKey('delete')
 | 
			
		||||
    .expect(composeInput.value).eql('')
 | 
			
		||||
    .expect(composeLengthIndicator.innerText).eql('0')
 | 
			
		||||
    .expect(composeButton.getAttribute('disabled')).eql('')
 | 
			
		||||
})
 | 
			
		||||
| 
						 | 
				
			
			@ -10,6 +10,9 @@ export const closeDialogButton = $('.close-dialog-button')
 | 
			
		|||
export const notificationsNavButton = $('nav a[href="/notifications"]')
 | 
			
		||||
export const homeNavButton = $('nav a[href="/"]')
 | 
			
		||||
export const formError = $('.form-error-user-error')
 | 
			
		||||
export const composeInput = $('.compose-box-input')
 | 
			
		||||
export const composeButton = $('.compose-box-button')
 | 
			
		||||
export const composeLengthIndicator = $('.compose-box-length')
 | 
			
		||||
 | 
			
		||||
export const favoritesCountElement = $('.status-favs-reblogs:nth-child(3)').addCustomDOMProperties({
 | 
			
		||||
  innerCount: el => parseInt(el.innerText, 10)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue