kopia lustrzana https://github.com/nolanlawson/pinafore
				
				
				
			fix: fix disableNotificationsBadge aria-label (#1260)
							rodzic
							
								
									604471a158
								
							
						
					
					
						commit
						d75507bbce
					
				| 
						 | 
				
			
			@ -167,16 +167,18 @@ export function timelineComputations (store) {
 | 
			
		|||
  )
 | 
			
		||||
 | 
			
		||||
  store.compute('numberOfNotifications',
 | 
			
		||||
    ['filteredTimelineNotificationItemSummaries'],
 | 
			
		||||
    (filteredTimelineNotificationItemSummaries) => (
 | 
			
		||||
      filteredTimelineNotificationItemSummaries ? filteredTimelineNotificationItemSummaries.length : 0
 | 
			
		||||
    ['filteredTimelineNotificationItemSummaries', 'disableNotificationBadge'],
 | 
			
		||||
    (filteredTimelineNotificationItemSummaries, disableNotificationBadge) => (
 | 
			
		||||
      (!disableNotificationBadge && filteredTimelineNotificationItemSummaries)
 | 
			
		||||
        ? filteredTimelineNotificationItemSummaries.length
 | 
			
		||||
        : 0
 | 
			
		||||
    )
 | 
			
		||||
  )
 | 
			
		||||
 | 
			
		||||
  store.compute('hasNotifications',
 | 
			
		||||
    ['numberOfNotifications', 'currentPage', 'disableNotificationBadge'],
 | 
			
		||||
    (numberOfNotifications, currentPage, $disableNotificationBadge) => (
 | 
			
		||||
      !$disableNotificationBadge && currentPage !== 'notifications' && !!numberOfNotifications
 | 
			
		||||
    ['numberOfNotifications', 'currentPage'],
 | 
			
		||||
    (numberOfNotifications, currentPage) => (
 | 
			
		||||
      currentPage !== 'notifications' && !!numberOfNotifications
 | 
			
		||||
    )
 | 
			
		||||
  )
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,36 @@
 | 
			
		|||
import {
 | 
			
		||||
  settingsNavButton,
 | 
			
		||||
  homeNavButton,
 | 
			
		||||
  disableUnreadNotifications,
 | 
			
		||||
  getFirstVisibleStatus,
 | 
			
		||||
  getUrl,
 | 
			
		||||
  notificationsNavButton, getTitleText, sleep
 | 
			
		||||
} from '../utils'
 | 
			
		||||
import { loginAsFoobar } from '../roles'
 | 
			
		||||
import { Selector as $ } from 'testcafe'
 | 
			
		||||
import { postAs } from '../serverActions'
 | 
			
		||||
 | 
			
		||||
fixture`129-wellness.js`
 | 
			
		||||
  .page`http://localhost:4002`
 | 
			
		||||
 | 
			
		||||
test('Can disable unread notification counts', async t => {
 | 
			
		||||
  await loginAsFoobar(t)
 | 
			
		||||
  await t.click(settingsNavButton)
 | 
			
		||||
    .click($('a').withText('Wellness'))
 | 
			
		||||
    .click(disableUnreadNotifications)
 | 
			
		||||
    .expect(disableUnreadNotifications.checked).ok()
 | 
			
		||||
    .click(homeNavButton)
 | 
			
		||||
    .expect(getUrl()).eql('http://localhost:4002/')
 | 
			
		||||
    .expect(getFirstVisibleStatus().exists).ok()
 | 
			
		||||
  await postAs('admin', 'hey @foobar')
 | 
			
		||||
  await sleep(2000)
 | 
			
		||||
  await t
 | 
			
		||||
    .expect(notificationsNavButton.getAttribute('aria-label')).eql('Notifications')
 | 
			
		||||
    .expect(getTitleText()).notContains('(1)')
 | 
			
		||||
    .click(settingsNavButton)
 | 
			
		||||
    .click($('a').withText('Wellness'))
 | 
			
		||||
    .click(disableUnreadNotifications)
 | 
			
		||||
    .expect(disableUnreadNotifications.checked).notOk()
 | 
			
		||||
    .expect(notificationsNavButton.getAttribute('aria-label')).eql('Notifications (1 notification)')
 | 
			
		||||
    .expect(getTitleText()).contains('(1)')
 | 
			
		||||
})
 | 
			
		||||
| 
						 | 
				
			
			@ -49,6 +49,7 @@ export const markMediaSensitiveInput = $('#choice-mark-media-sensitive')
 | 
			
		|||
export const neverMarkMediaSensitiveInput = $('#choice-never-mark-media-sensitive')
 | 
			
		||||
export const removeEmojiFromDisplayNamesInput = $('#choice-omit-emoji-in-display-names')
 | 
			
		||||
export const disableInfiniteScroll = $('#choice-disable-infinite-scroll')
 | 
			
		||||
export const disableUnreadNotifications = $('#choice-disable-unread-notification-counts')
 | 
			
		||||
export const dialogOptionsOption = $(`.modal-dialog button`)
 | 
			
		||||
export const emojiSearchInput = $('.emoji-mart-search input')
 | 
			
		||||
export const confirmationDialogOKButton = $('.confirmation-dialog-form-flex button:nth-child(1)')
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Ładowanie…
	
		Reference in New Issue