T.ME/BIBIL_0DAY
CasperSecurity


Server : Apache/2
System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64
User : gositeme ( 1004)
PHP Version : 8.2.29
Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Directory :  /home/gositeme/domains/lavocat.ca/public_html/tests/helpers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/gositeme/domains/lavocat.ca/public_html/tests/helpers/api-test-helpers.ts
import { APIRequestContext } from '@playwright/test';

export interface TestUser {
  id: string;
  email: string;
  name: string;
  role: string;
}

export class ApiTestHelpers {
  constructor(private request: APIRequestContext) {}

  async createTestUser(email: string, name: string, role: string = 'LAWYER'): Promise<TestUser> {
    const response = await this.request.post('/api/test/create-user', {
      data: {
        email,
        name,
        role,
        password: 'password123'
      }
    });

    if (!response.ok()) {
      throw new Error(`Failed to create test user: ${response.statusText()}`);
    }

    return await response.json();
  }

  async deleteTestUser(userId: string): Promise<void> {
    const response = await this.request.delete(`/api/test/delete-user/${userId}`);
    
    if (!response.ok()) {
      console.warn(`Failed to delete test user ${userId}: ${response.statusText()}`);
    }
  }

  async loginUser(email: string, password: string = 'password123'): Promise<string> {
    const response = await this.request.post('/api/auth/login', {
      data: {
        email,
        password
      }
    });

    if (!response.ok()) {
      throw new Error(`Failed to login user: ${response.statusText()}`);
    }

    const cookies = response.headers()['set-cookie'];
    return cookies || '';
  }

  async getProfileStats(profileId: string, sessionCookie?: string): Promise<any> {
    const headers: Record<string, string> = {};
    if (sessionCookie) {
      headers['Cookie'] = sessionCookie;
    }

    const response = await this.request.get(`/api/profile/${profileId}/stats`, {
      headers
    });

    if (!response.ok()) {
      throw new Error(`Failed to get profile stats: ${response.statusText()}`);
    }

    return await response.json();
  }

  async followUser(profileId: string, sessionCookie: string): Promise<void> {
    const response = await this.request.post(`/api/profile/${profileId}/follow`, {
      headers: {
        'Cookie': sessionCookie,
        'Content-Type': 'application/json'
      }
    });

    if (!response.ok()) {
      throw new Error(`Failed to follow user: ${response.statusText()}`);
    }
  }

  async unfollowUser(profileId: string, sessionCookie: string): Promise<void> {
    const response = await this.request.delete(`/api/profile/${profileId}/follow`, {
      headers: {
        'Cookie': sessionCookie
      }
    });

    if (!response.ok()) {
      throw new Error(`Failed to unfollow user: ${response.statusText()}`);
    }
  }

  async endorseUser(profileId: string, sessionCookie: string): Promise<void> {
    const response = await this.request.post(`/api/profile/${profileId}/endorse`, {
      headers: {
        'Cookie': sessionCookie,
        'Content-Type': 'application/json'
      },
      data: {
        message: 'Test endorsement'
      }
    });

    if (!response.ok()) {
      throw new Error(`Failed to endorse user: ${response.statusText()}`);
    }
  }

  async unendorseUser(profileId: string, sessionCookie: string): Promise<void> {
    const response = await this.request.delete(`/api/profile/${profileId}/endorse`, {
      headers: {
        'Cookie': sessionCookie
      }
    });

    if (!response.ok()) {
      throw new Error(`Failed to unendorse user: ${response.statusText()}`);
    }
  }

  async setUserOnline(userId: string, isOnline: boolean): Promise<void> {
    const response = await this.request.post('/api/test/set-user-online', {
      data: {
        userId,
        isOnline
      }
    });

    if (!response.ok()) {
      throw new Error(`Failed to set user online status: ${response.statusText()}`);
    }
  }

  async cleanupTestData(): Promise<void> {
    const response = await this.request.post('/api/test/cleanup');
    
    if (!response.ok()) {
      console.warn(`Failed to cleanup test data: ${response.statusText()}`);
    }
  }
} 

CasperSecurity Mini