mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-10-29 04:24:14 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			80 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import MastodonAPI from '@/mastodon/api_client'
 | |
| import MegalodonEntity from '@/entity'
 | |
| import MastodonEntity from '@/mastodon/entity'
 | |
| import MegalodonNotificationType from '@/notification'
 | |
| import MastodonNotificationType from '@/mastodon/notification'
 | |
| 
 | |
| describe('api_client', () => {
 | |
|   describe('notification', () => {
 | |
|     describe('encode', () => {
 | |
|       it('megalodon notification type should be encoded to mastodon notification type', () => {
 | |
|         const cases: Array<{ src: MegalodonEntity.NotificationType; dist: MastodonEntity.NotificationType }> = [
 | |
|           {
 | |
|             src: MegalodonNotificationType.Follow,
 | |
|             dist: MastodonNotificationType.Follow
 | |
|           },
 | |
|           {
 | |
|             src: MegalodonNotificationType.Favourite,
 | |
|             dist: MastodonNotificationType.Favourite
 | |
|           },
 | |
|           {
 | |
|             src: MegalodonNotificationType.Reblog,
 | |
|             dist: MastodonNotificationType.Reblog
 | |
|           },
 | |
|           {
 | |
|             src: MegalodonNotificationType.Mention,
 | |
|             dist: MastodonNotificationType.Mention
 | |
|           },
 | |
|           {
 | |
|             src: MegalodonNotificationType.PollExpired,
 | |
|             dist: MastodonNotificationType.Poll
 | |
|           },
 | |
|           {
 | |
|             src: MegalodonNotificationType.FollowRequest,
 | |
|             dist: MastodonNotificationType.FollowRequest
 | |
|           },
 | |
|           {
 | |
|             src: MegalodonNotificationType.Status,
 | |
|             dist: MastodonNotificationType.Status
 | |
|           }
 | |
|         ]
 | |
|         cases.forEach(c => {
 | |
|           expect(MastodonAPI.Converter.encodeNotificationType(c.src)).toEqual(c.dist)
 | |
|         })
 | |
|       })
 | |
|     })
 | |
|     describe('decode', () => {
 | |
|       it('mastodon notification type should be decoded to megalodon notification type', () => {
 | |
|         const cases: Array<{ src: MastodonEntity.NotificationType; dist: MegalodonEntity.NotificationType }> = [
 | |
|           {
 | |
|             src: MastodonNotificationType.Follow,
 | |
|             dist: MegalodonNotificationType.Follow
 | |
|           },
 | |
|           {
 | |
|             src: MastodonNotificationType.Favourite,
 | |
|             dist: MegalodonNotificationType.Favourite
 | |
|           },
 | |
|           {
 | |
|             src: MastodonNotificationType.Mention,
 | |
|             dist: MegalodonNotificationType.Mention
 | |
|           },
 | |
|           {
 | |
|             src: MastodonNotificationType.Reblog,
 | |
|             dist: MegalodonNotificationType.Reblog
 | |
|           },
 | |
|           {
 | |
|             src: MastodonNotificationType.Poll,
 | |
|             dist: MegalodonNotificationType.PollExpired
 | |
|           },
 | |
|           {
 | |
|             src: MastodonNotificationType.FollowRequest,
 | |
|             dist: MegalodonNotificationType.FollowRequest
 | |
|           }
 | |
|         ]
 | |
|         cases.forEach(c => {
 | |
|           expect(MastodonAPI.Converter.decodeNotificationType(c.src)).toEqual(c.dist)
 | |
|         })
 | |
|       })
 | |
|     })
 | |
|   })
 | |
| })
 |