mirror of
https://github.com/appwrite/console.git
synced 2026-06-06 19:27:48 +00:00
test: add sdkForProject tests
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
export function getProjectId() {
|
||||
const pathname = window.location.pathname;
|
||||
const projectMatch = pathname.match(/\/project-(.*?)\//);
|
||||
return projectMatch?.[1] || null;
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
import { getProjectId } from '$lib/helpers/project';
|
||||
import { Project } from '$lib/sdk/project';
|
||||
import { VARS } from '$lib/system';
|
||||
import {
|
||||
@@ -48,10 +49,9 @@ export const sdk = {
|
||||
users: new Users(clientConsole)
|
||||
},
|
||||
get forProject() {
|
||||
const pathname = window.location.pathname;
|
||||
const projectMatch = pathname.match(/project-([a-zA-Z0-9]+)/);
|
||||
if (projectMatch && projectMatch[1] !== clientProject.config.project) {
|
||||
clientProject.setProject(projectMatch[1]);
|
||||
const projectId = getProjectId();
|
||||
if (projectId && projectId !== clientProject.config.project) {
|
||||
clientProject.setProject(projectId);
|
||||
}
|
||||
|
||||
return sdkForProject;
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
import { getProjectId } from '$lib/helpers/project';
|
||||
import { vi } from 'vitest';
|
||||
|
||||
test('getProjectId', () => {
|
||||
const tests: Array<{
|
||||
pathname: string;
|
||||
expected: string | null;
|
||||
}> = [
|
||||
{
|
||||
pathname: '/console/project-6374e9031588b25d1841/databases',
|
||||
expected: '6374e9031588b25d1841'
|
||||
},
|
||||
{
|
||||
pathname: '/console/project-/databases',
|
||||
expected: null
|
||||
},
|
||||
{
|
||||
pathname: '/console/project-project-project-abc/databases',
|
||||
expected: 'project-project-abc'
|
||||
},
|
||||
{
|
||||
pathname: '/console/project-abc/databases',
|
||||
expected: 'abc'
|
||||
},
|
||||
{
|
||||
pathname: '/console/project-abc/databases/project-123',
|
||||
expected: 'abc'
|
||||
},
|
||||
{
|
||||
pathname: '/console/project-abc/databases/project-123/project-456',
|
||||
expected: 'abc'
|
||||
},
|
||||
|
||||
{
|
||||
pathname: '/console',
|
||||
expected: null
|
||||
}
|
||||
];
|
||||
|
||||
for (const { pathname, expected } of tests) {
|
||||
vi.stubGlobal('location', {
|
||||
...window.location,
|
||||
pathname
|
||||
});
|
||||
expect(getProjectId()).toBe(expected);
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user