summaryrefslogtreecommitdiff
path: root/packages/frontend/test
diff options
context:
space:
mode:
authorKagami Sascha Rosylight <saschanaz@outlook.com>2023-03-13 01:46:33 +0100
committerGitHub <noreply@github.com>2023-03-13 09:46:33 +0900
commit0d2bee787d52b875b474f9fa9eedc49951dce0ee (patch)
treefa88d549022a5d7e8cd11a41e7f30470c933b15d /packages/frontend/test
parent空文字列のobjectStorageEndtpoinをnullと同様に扱う (#10312) (diff)
downloadmisskey-0d2bee787d52b875b474f9fa9eedc49951dce0ee.tar.gz
misskey-0d2bee787d52b875b474f9fa9eedc49951dce0ee.tar.bz2
misskey-0d2bee787d52b875b474f9fa9eedc49951dce0ee.zip
fix(frontend/XHome): fall back to user.uri if user.url does not exist (#10313)
* fix(frontend/XHome): fall back to user.uri if user.url does not exist * Update CHANGELOG.md
Diffstat (limited to 'packages/frontend/test')
-rw-r--r--packages/frontend/test/home.test.ts58
1 files changed, 58 insertions, 0 deletions
diff --git a/packages/frontend/test/home.test.ts b/packages/frontend/test/home.test.ts
new file mode 100644
index 0000000000..f3eddcd371
--- /dev/null
+++ b/packages/frontend/test/home.test.ts
@@ -0,0 +1,58 @@
+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');
+ });
+});