- Add Activepieces fork with SmoothSchedule custom piece - Create integrations app with Activepieces service layer - Add embed token endpoint for iframe integration - Create Automations page with embedded workflow builder - Add sidebar visibility fix for embed mode - Add list inactive customers endpoint to Public API - Include SmoothSchedule triggers: event created/updated/cancelled - Include SmoothSchedule actions: create/update/cancel events, list resources/services/customers 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
50 lines
1.7 KiB
TypeScript
50 lines
1.7 KiB
TypeScript
import { BasePage } from './base';
|
|
import { faker } from '@faker-js/faker';
|
|
|
|
export class AuthenticationPage extends BasePage {
|
|
url = `/sign-in`;
|
|
signUpUrl = `/sign-up`;
|
|
|
|
async signIn(params: { email: string; password: string }) {
|
|
await this.page.goto(this.url);
|
|
|
|
const emailField = this.page.getByTestId('sign-in-email');
|
|
await emailField.click();
|
|
await emailField.fill(params.email);
|
|
|
|
const passwordField = this.page.getByTestId('sign-in-password');
|
|
await passwordField.click();
|
|
await passwordField.fill(params.password);
|
|
|
|
await this.page.getByTestId('sign-in-button').click();
|
|
}
|
|
|
|
async signUp(params?: { email?: string; password?: string; firstName?: string; lastName?: string }) {
|
|
await this.page.goto(this.signUpUrl);
|
|
|
|
const firstNameField = this.page.getByTestId('sign-up-first-name');
|
|
await firstNameField.click();
|
|
await firstNameField.fill(params?.firstName || 'Bugs');
|
|
await firstNameField.press('Tab');
|
|
|
|
const lastNameField = this.page.getByTestId('sign-up-last-name');
|
|
await lastNameField.click();
|
|
await lastNameField.fill(params?.lastName || 'Bunny');
|
|
await lastNameField.press('Tab');
|
|
|
|
const emailField = this.page.getByTestId('sign-up-email');
|
|
await emailField.click();
|
|
await emailField.fill(params?.email || faker.internet.email());
|
|
await emailField.press('Tab');
|
|
|
|
const passwordField = this.page.getByTestId('sign-up-password');
|
|
await passwordField.click();
|
|
await passwordField.fill(params?.password || faker.internet.password({
|
|
pattern: /[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?a-zA-Z0-9]/,
|
|
length: 12,
|
|
prefix: '0'
|
|
}));
|
|
|
|
await this.page.getByTestId('sign-up-button').click();
|
|
}
|
|
}
|