1
0
mirror of https://github.com/hotomoe/hotomoe synced 2024-12-15 07:08:23 +09:00
hotomoe/packages/frontend/test/home.test.ts
riku6460 8d06a6475e
chore: 著作権とライセンスについての情報を各ファイルに追加する (#141)
* chore: 著作権とライセンスについての情報を各ファイルに追加する

* chore: Add the SPDX information to each file

Add copyright and licensing information as defined in version 3.0 of
the REUSE Specification.

* tweak format

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* chore: Add SPDX-License-Identifier [skip ci]

* add missing SPDX-License-Identifier

* remove unused file

---------

Co-authored-by: Shun Sakai <sorairolake@protonmail.ch>
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
Co-authored-by: Chocolate Pie <106949016+chocolate-pie@users.noreply.github.com>
2023-08-15 02:52:38 +09:00

64 lines
1.9 KiB
TypeScript

/*
* SPDX-FileCopyrightText: syuilo and other misskey contributors
* SPDX-License-Identifier: AGPL-3.0-only
*/
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');
});
});