///
type UserRegisterData = {
email: string;
password: string;
title: string;
firstName: string;
lastName: string;
telephone: string;
};
declare enum OrganizationInvitationStatus {
Pending = 'Pending',
Rejected = 'Rejected',
Accepted = 'Accepted',
Viewed = 'Viewed'
}
declare enum Role {
OrganizationAdmin = 1,
OrganizationDeviceManager = 2,
OrganizationUser = 4,
Issuer = 8,
Admin = 16,
SupportAgent = 32
}
declare type OrganizationRole =
| Role.OrganizationUser
| Role.OrganizationDeviceManager
| Role.OrganizationAdmin;
type UserLoginData = {
email: string;
password: string;
};
type OrganizationPostData = {
name: string;
address: string;
zipCode: string;
city: string;
country: string;
businessType: string;
tradeRegistryCompanyNumber: string;
vatNumber: string;
signatoryFullName: string;
signatoryAddress: string;
signatoryZipCode: string;
signatoryCity: string;
signatoryCountry: string;
signatoryEmail: string;
signatoryPhoneNumber: string;
signatoryDocumentIds?: string[];
documentIds?: string[];
};
type DevicePostData = {
address: string;
capacityInW: number;
complianceRegistry: string;
country: string;
description: string;
deviceType: string;
externalDeviceIds: { type: string }[];
facilityName: string;
files: string;
gpsLatitude: string;
gpsLongitude: string;
gridOperator: string;
images: string;
operationalSince: number;
otherGreenAttributes: string;
province: string;
region: string;
status: string;
timezone: string;
typeOfPublicSupport: string;
};
declare namespace Cypress {
interface Chainable {
dataCy(value: string): Chainable;
clearInput(target: string): Chainable;
inputRequired(target: string, neighbor: string): Chainable;
filledInputRequired(target: string, neighbor: string): Chainable;
fillUserRegister(user: UserRegisterData): Chainable;
notification(text: string): Chainable;
fillUserLogin(loginData: UserLoginData): Chainable;
apiRegisterUser(user: UserRegisterData): Chainable;
apiLoginUser(loginData: UserLoginData): Chainable;
apiRegisterAndApproveUser(user: UserRegisterData): Chainable;
fillOrgRegisterForm(orgData: OrganizationPostData): Chainable;
attachDocument(uploadDataCy: string): Chainable;
attachMultipleDocuments(uploadDataCy: string, count: number): Chainable;
apiRegisterOrg(
userData: UserRegisterData,
orgData: OrganizationPostData
): Chainable;
apiRegisterAndApproveOrg(
userData: UserRegisterData,
orgData: OrganizationPostData
): Chainable;
inputHasValue(inputCy: string, value: string): Chainable;
apiUserProceedInvitation(
userDate: UserRegisterData,
status: OrganizationInvitationStatus
): Chainable;
apiSendInvitation(
senderData: UserRegisterData,
receiverEmail: string,
role: OrganizationRole
): Chainable;
apiRegisterDevice(
userData: UserRegisterData,
testDevice: DevicePostData
): Chainable;
apiRegisterAndApproveDevice(
userData: UserRegisterData,
testDevice: DevicePostData
): Chainable;
}
}