 0d2bee787d
			
		
	
	0d2bee787d
	
	
	
		
			
			* fix(frontend/XHome): fall back to user.uri if user.url does not exist * Update CHANGELOG.md
		
			
				
	
	
		
			59 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { describe, test, assert, afterEach } from 'vitest';
 | |
| import { render, cleanup, type RenderResult } from '@testing-library/vue';
 | |
| import './init';
 | |
| import type * as misskey from 'misskey-js';
 | |
| import { directives } from '@/directives';
 | |
| import { components } from '@/components/index';
 | |
| import XHome from '@/pages/user/home.vue';
 | |
| 
 | |
| describe('XHome', () => {
 | |
| 	const renderHome = (user: Partial<misskey.entities.UserDetailed>): RenderResult => {
 | |
| 		return render(XHome, {
 | |
| 			props: { user, disableNotes: true },
 | |
| 			global: { directives, components },
 | |
| 		});
 | |
| 	};
 | |
| 
 | |
| 	afterEach(() => {
 | |
| 		cleanup();
 | |
| 	});
 | |
| 
 | |
| 	test('Should render the remote caution when user.host exists', async () => {
 | |
| 		const home = renderHome({
 | |
| 			id: 'blobcat',
 | |
| 			name: 'blobcat',
 | |
| 			host: 'example.com',
 | |
| 			uri: 'https://example.com/@user',
 | |
| 			url: 'https://example.com/@user/profile',
 | |
| 			roles: [],
 | |
| 			createdAt: '1970-01-01T00:00:00.000Z',
 | |
| 			fields: [],
 | |
| 			pinnedNotes: [],
 | |
| 		});
 | |
| 
 | |
| 		const anchor = home.container.querySelector<HTMLAnchorElement>('a[href^="https://example.com/"]');
 | |
| 		assert.exists(anchor, 'anchor to the remote exists');
 | |
| 		assert.strictEqual(anchor?.href, 'https://example.com/@user/profile');
 | |
| 
 | |
| 		assert.ok(anchor?.parentElement?.classList.contains('warn'), 'the parent is a warning');
 | |
| 	});
 | |
| 
 | |
| 	test('The remote caution should fall back to uri if url is null', async () => {
 | |
| 		const home = renderHome({
 | |
| 			id: 'blobcat',
 | |
| 			name: 'blobcat',
 | |
| 			host: 'example.com',
 | |
| 			uri: 'https://example.com/@user',
 | |
| 			url: null,
 | |
| 			roles: [],
 | |
| 			createdAt: '1970-01-01T00:00:00.000Z',
 | |
| 			fields: [],
 | |
| 			pinnedNotes: [],
 | |
| 		});
 | |
| 
 | |
| 		const anchor = home.container.querySelector<HTMLAnchorElement>('a[href^="https://example.com/"]');
 | |
| 		assert.exists(anchor, 'anchor to the remote exists');
 | |
| 		assert.strictEqual(anchor?.href, 'https://example.com/@user');
 | |
| 	});
 | |
| });
 |