TF-2953 Set up Patrol tests

This commit is contained in:
DatDang
2024-10-11 11:58:09 +07:00
committed by Dat H. Pham
parent e8e709d63a
commit 25437ba92e
18 changed files with 437 additions and 18 deletions
@@ -0,0 +1,39 @@
import '../base/base_scenario.dart';
import '../robots/login_robot.dart';
import '../robots/thread_robot.dart';
import '../utils/scenario_utils_mixin.dart';
class LoginWithBasicAuthScenario extends BaseScenario with ScenarioUtilsMixin {
const LoginWithBasicAuthScenario(
super.$,
{
required this.username,
required this.hostUrl,
required this.email,
required this.password,
}
);
final String username;
final String hostUrl;
final String email;
final String password;
@override
Future<void> execute() async {
final loginRobot = LoginRobot($);
final threadRobot = ThreadRobot($);
await loginRobot.expectLoginViewVisible();
await loginRobot.enterEmail(username);
await loginRobot.enterHostUrl(hostUrl);
await loginRobot.enterBasicAuthEmail(email);
await loginRobot.enterBasicAuthPassword(password);
await loginRobot.loginBasicAuth();
await grantNotificationPermission($.native);
await threadRobot.expectThreadViewVisible();
}
}
@@ -0,0 +1,41 @@
import '../base/base_scenario.dart';
import '../robots/composer_robot.dart';
import '../robots/thread_robot.dart';
import 'login_with_basic_auth_scenario.dart';
class SendEmailScenario extends BaseScenario {
const SendEmailScenario(
super.$,
{
required this.loginWithBasicAuthScenario,
required this.additionalRecipient,
required this.subject,
required this.content
}
);
final LoginWithBasicAuthScenario loginWithBasicAuthScenario;
final String additionalRecipient;
final String subject;
final String content;
@override
Future<void> execute() async {
final threadRobot = ThreadRobot($);
final composerRobot = ComposerRobot($);
await loginWithBasicAuthScenario.execute();
await threadRobot.openComposer();
await threadRobot.expectComposerViewVisible();
await composerRobot.grantContactPermission();
await composerRobot.addRecipient(loginWithBasicAuthScenario.email);
await composerRobot.addRecipient(additionalRecipient);
await composerRobot.addSubject(subject);
await composerRobot.addContent(content);
await composerRobot.sendEmail();
await composerRobot.expectSendEmailSuccessToast();
}
}