public void MoveTask_ShouldBeMoved(bool moveIt) { //Arrange int initialNumberOfTask = TasksPage.GetCurrentNumberOfTasks(); int taskIndex = initialNumberOfTask - 1; TasksPage.GoToNewTaskPage(taskIndex); NewTaskPage.ShowMoveTaskDialog(); int tasksListIndex = TaskMenuOptionsDialog.GetSelectedTaskListIndex(); int maxIndex = TaskMenuOptionsDialog.GetNumberOfTaskLists(); int selectedTaskListIndex = Enumerable.Range(0, maxIndex).First(value => value != tasksListIndex); //Act TaskMenuOptionsDialog.MoveToDiffTaskList(moveIt, selectedTaskListIndex); //Assert if (moveIt) { NewTaskPage.WaitForPageToLeave(); TasksPage.AssertOnPage(); int finalNumberOfTasks = TasksPage.GetCurrentNumberOfTasks(); Assert.AreEqual(initialNumberOfTask - 1, finalNumberOfTasks); } else { ManageTaskListsDialog.AssertOnPage(TimeSpan.FromSeconds(10)); Assert.True(tasksListIndex == TaskMenuOptionsDialog.GetSelectedTaskListIndex()); } }
public void MoveToDiffTaskList_ShouldBeMoved(bool moveIt) { //Arrange int initialNumberOfTask = TasksPage.GetCurrentNumberOfTasks(); TaskMenuOptionsDialog.ShowMainDialog().ShowMoveToDiffTaskListDialog(); int tasksListIndex = TaskMenuOptionsDialog.GetSelectedTaskListIndex(); int maxIndex = TaskMenuOptionsDialog.GetNumberOfTaskLists(); int selectedTaskListIndex = Enumerable.Range(0, maxIndex).First(value => value != tasksListIndex); //Act TaskMenuOptionsDialog.MoveToDiffTaskList(moveIt, selectedTaskListIndex); //Assert int finalNumberOfTask = TasksPage.GetCurrentNumberOfTasks(); if (moveIt) { Assert.True(initialNumberOfTask - 1 == finalNumberOfTask); } else { ManageTaskListsDialog.AssertOnPage(TimeSpan.FromSeconds(10)); Assert.True(initialNumberOfTask == finalNumberOfTask); Assert.True(tasksListIndex == TaskMenuOptionsDialog.GetSelectedTaskListIndex()); } }
public void AddNewTask_WithACompletitionDate_ShouldShowACompletitionDateIndicator(bool addCompletitionDate) { //Arrange string title = "Title"; string content = $"This task has a completition date = {addCompletitionDate}"; int initialNumberOfTask = TasksPage.GetCurrentNumberOfTasks(); int taskIndex = initialNumberOfTask; TasksPage.GoToNewTaskPage(); //Act NewTaskPage.ShowAddEditCompletitionDate().AddCompletitionDate(addCompletitionDate); bool dateWasAdded = NewTaskPage.CompletitionDateIsShown(); NewTaskPage.AddEditNewTask(title, content); //Assert int finalNumberOfTasks = TasksPage.GetCurrentNumberOfTasks(); Assert.True(initialNumberOfTask + 1 == finalNumberOfTasks); Assert.AreEqual(title, TasksPage.GetTaskTitle(taskIndex)); Assert.AreEqual(content, TasksPage.GetTaskContent(taskIndex)); if (addCompletitionDate) { Assert.True(dateWasAdded); Assert.True(TasksPage.HasACompletitionDateSet(taskIndex)); } else { Assert.True(!dateWasAdded); Assert.True(!TasksPage.HasACompletitionDateSet(taskIndex)); } }
public void AddNewTask_WithSubTasks_MustCreateXSubTasks(int subTasksToCreate) { //Arrange string title = "Title"; string content = $"This task contains {subTasksToCreate} subtasks"; int initialNumberOfTask = TasksPage.GetCurrentNumberOfTasks(); int taskIndex = initialNumberOfTask; TasksPage.GoToNewTaskPage(); //Act for (int i = 1; i <= subTasksToCreate; i++) { NewTaskPage.ShowAddSubTaskDialog(); TaskMenuOptionsDialog.AddSubTask(true, $"This is subtask number = {i}"); } NewTaskPage.AddEditNewTask(title, content); //Assert int finalNumberOfTasks = TasksPage.GetCurrentNumberOfTasks(); Assert.True(initialNumberOfTask + 1 == finalNumberOfTasks); Assert.DoesNotThrow(() => TasksPage.ShowSubTasks(taskIndex)); int numberOfSubTasks = TasksPage.GetNumberOfSubTasks(taskIndex); Assert.True(numberOfSubTasks == subTasksToCreate); Assert.AreEqual(title, TasksPage.GetTaskTitle(taskIndex)); Assert.AreEqual(content, TasksPage.GetTaskContent(taskIndex)); }
public void EditTaskList_TaskListIsNew_ShouldBeEdited(bool saveChanges) { //Arrange string title = $"This tasklist will be edited = {saveChanges}"; string newTitle = "The new tasklist title"; AddNewTaskList(title); TasksPage.OpenDrawer(); ManageTaskListsDialog.ShowMainDialog(); int taskListIndex = ManageTaskListsDialog.GetTaskListIndexFromManageTaskListsDialogDialog(title); //Act ManageTaskListsDialog.ShowEditTaskListDialog(taskListIndex).EditTaskList(saveChanges, newTitle); //Assert if (saveChanges) { TasksPage.OpenDrawer(); ManageTaskListsDialog.ShowMainDialog(); } else { //In this case the dialog is shown back newTitle = title; } Assert.True(ManageTaskListsDialog.TaskListExistsInManageTaskListsDialog(newTitle)); }
public void DeleteTaskList_TaskListIsNew_ShouldBeDeleted(bool deleteIt) { //Arrange string title = $"This tasklist will be deleted = {deleteIt}"; AddNewTaskList(title); TasksPage.OpenDrawer(); ManageTaskListsDialog.ShowMainDialog(); int taskListIndex = ManageTaskListsDialog.GetTaskListIndexFromManageTaskListsDialogDialog(title); int initialNumberOfTaskLists = ManageTaskListsDialog.GetTaskListsCountFromManageTaskListsDialogDialog(); //Act ManageTaskListsDialog.ShowDeleteTaskListDialog(taskListIndex).DeleteTaskList(deleteIt); //Assert if (deleteIt) { TasksPage.OpenDrawer(); ManageTaskListsDialog.ShowMainDialog(); int finalNumberOfTaskLists = ManageTaskListsDialog.GetTaskListsCountFromManageTaskListsDialogDialog(); Assert.True(initialNumberOfTaskLists - 1 == finalNumberOfTaskLists); } else { //In this case the dialog is shown back int finalNumberOfTaskLists = ManageTaskListsDialog.GetTaskListsCountFromManageTaskListsDialogDialog(); Assert.True(initialNumberOfTaskLists == finalNumberOfTaskLists); } }
public void NavigateThroughSettings_EndsInTheTaskPage() { //Arrange TasksPage.OpenDrawer().GoToSettings(); //Act SettingsPage.GoToGeneral(); SettingsPage.PressBackButton(); SettingsPage.AssertOnPage(); SettingsPage.GoToNotifications(); SettingsPage.PressBackButton(); SettingsPage.AssertOnPage(); SettingsPage.GoToSync(); SettingsPage.PressBackButton(); SettingsPage.AssertOnPage(); SettingsPage.GoToAbout(); SettingsPage.PressBackButton(); SettingsPage.AssertOnPage(); SettingsPage.PressBackButton(); //Assert Assert.DoesNotThrow(() => TasksPage.AssertOnPage()); }
public void EditTask_ExistingTask_TaskIsTotallyEdited() { //Arrange string newTitle = "Edited title"; string newContent = "This task is edited"; string subTaskTitle = "This is subtask of an edited task"; int initialNumberOfTask = TasksPage.GetCurrentNumberOfTasks(); int taskIndex = initialNumberOfTask - 1; TasksPage.GoToNewTaskPage(taskIndex); //Act //Here we basically edit everything NewTaskPage.ShowAddEditCompletitionDate() .AddCompletitionDate(true) .ShowAddReminderDialog(); TaskMenuOptionsDialog.AddAReminder(true); NewTaskPage.ShowAddSubTaskDialog(); TaskMenuOptionsDialog.AddSubTask(true, subTaskTitle); NewTaskPage.AddEditNewTask(newTitle, newContent); //Assert int finalNumberOfTasks = TasksPage.GetCurrentNumberOfTasks(); Assert.AreEqual(initialNumberOfTask, finalNumberOfTasks); Assert.AreEqual(newTitle, TasksPage.GetTaskTitle(taskIndex)); Assert.AreEqual(newContent, TasksPage.GetTaskContent(taskIndex)); Assert.True(TasksPage.HasACompletitionDateSet(taskIndex)); Assert.True(TasksPage.HasAReminderDateSet(taskIndex)); TasksPage.ShowSubTasks(taskIndex); Assert.True(TasksPage.HasSubTasks(taskIndex)); }
public void AddNewTask_CreatesOrNotANewTaskList(bool createTaskList) { //Arrange string title = "Title goes here"; string content = "Content goes here"; string taskListTitle = "A new task list"; int initialNumberOfTask = createTaskList ? 0 : TasksPage.GetCurrentNumberOfTasks(); int taskIndex = initialNumberOfTask; if (createTaskList) { TasksPage.OpenNewTaskListDialog().AddNewTaskList(taskListTitle); } TasksPage.GoToNewTaskPage(); //Act NewTaskPage.AddEditNewTask(title, content); //Assert int finalNumberOfTasks = TasksPage.GetCurrentNumberOfTasks(); Assert.True(createTaskList ? finalNumberOfTasks == 1 : initialNumberOfTask + 1 >= finalNumberOfTasks); Assert.AreEqual(title, TasksPage.GetTaskTitle(taskIndex)); Assert.AreEqual(content, TasksPage.GetTaskContent(taskIndex)); }
protected override void OnElementChanged(ElementChangedEventArgs <Page> e) { base.OnElementChanged(e); page = e.NewElement as TasksPage; var activity = this.Context as Activity; page.platformParameters = new PlatformParameters(activity); }
public void AddNewTaskList_ShouldNotContainTasks(string title) { //Arrange - Act AddNewTaskList(title); //Assert int tasks = TasksPage.GetCurrentNumberOfTasks(); //since this is a new task list, it must contain 0 tasks Assert.True(tasks == 0); }
public void ShowAccountDialog_LoggedUserIsShown(bool openFromImg) { //Arrange TasksPage.OpenDrawer(); //Act bool accountIsShown = TasksPage.ShowAccountDialog(openFromImg).AccountIsShown(); //Assert Assert.True(accountIsShown); Assert.True(!TasksPage.IsDrawerOpen()); }
public void EditTaskList_EmptyTitle_MustShowAValidationError() { //Arrange TasksPage.OpenDrawer(); ManageTaskListsDialog.ShowMainDialog().ShowEditTaskListDialog(); //Act bool isInvalid = ManageTaskListsDialog.IsTaskListTitleInvalid(string.Empty); //Assert Assert.True(isInvalid); }
public void AddNewTask_UserCancelsCreationOfTask_ShouldGoToTheTasksPage() { //Arrange int initialNumberOfTask = TasksPage.GetCurrentNumberOfTasks(); //Act TasksPage.GoToNewTaskPage(); NewTaskPage.ClosePage(); int finalNumberOfTasks = TasksPage.GetCurrentNumberOfTasks(); //Assert Assert.AreEqual(initialNumberOfTask, finalNumberOfTasks); }
protected void AddNewTaskList(string title) { //Arrange //Act TasksPage.OpenNewTaskListDialog(); string hint = TasksPage.GetHint(); TasksPage.AddNewTaskList(title); //Assert Assert.AreEqual(hint, "Title"); }
public virtual void BeforeEachTest() { AppManager.StartApp(); LoginPage = new LoginPage(); TasksPage = new TasksPage(); NewTaskPage = new NewTaskPage(); TaskMenuOptionsDialog = new TaskMenuOptionsDialog(); ManageTaskListsDialog = new ManageTaskListsDialog(); SettingsPage = new SettingsPage(); LoginPage.Login(); }
public void SorTask_By(string by) { //Arrange int initialNumberOfTask = TasksPage.GetCurrentNumberOfTasks(); //Act TasksPage.SortTasks(by); //Assert int finalNumberOfTask = TasksPage.GetCurrentNumberOfTasks(); Assert.True(initialNumberOfTask == finalNumberOfTask); }
public void Create_Task_Eng() { ManageDropDown manageDropDown = LoadPage <ApplicationHeader>() .DoubleClickOnManageDropDown(); TasksPage taskPage = manageDropDown.ClickOnTasksMenuItem(); CreateTaskPage createTask = taskPage.ClickOnCreateTaskFolder(); createTask.InputTitleTextField(this.task.Title); createTask.InputDescriptionField(this.task.Description); createTask.ClickOnSpecialitiesDropDown(); }
public void AddSubTask_EmptyTitle_MustShowAValidationError() { //Arrange int taskIndex = TasksPage.GetFirstNotCompletedTaskIndex(); TaskMenuOptionsDialog.ShowMainDialog(taskIndex).ShowAddSubTaskDialog(); //Act bool isInvalid = TaskMenuOptionsDialog.IsSubTaskTitleValid(string.Empty); //Assert Assert.True(isInvalid); }
public void AddSubTask_ToExistingTask_ShouldSaveIt(bool saveIt) { //Arrange int taskIndex = TasksPage.GetFirstNotCompletedTaskIndex(); TaskMenuOptionsDialog.ShowMainDialog(taskIndex).ShowAddSubTaskDialog(); string hint = TasksPage.GetHint(); //Act TaskMenuOptionsDialog.AddSubTask(saveIt, "A Subtask goes here"); //Assert Assert.AreEqual(hint, "Title"); }
public void Create_Task_Eng() { ApplicationHeader appHeader = LoadPage <ApplicationHeader>(); ManagePopUp managePopUp = appHeader.DoubleClickOnManageDropDown(); TasksPage tasksPage = managePopUp.ClickOnTasksMenuItem(); CreateTaskPage createTask = tasksPage.ClickOnCreateTaskFolder(); createTask.InputTitleTextField(this.task.Title); createTask.InputDescriptionField(this.task.Description); createTask.ChooseSpeciality(this.task.Speciality.sector, this.task.Speciality.speciality, this.task.Speciality.level); createTask.ChooseCurrency(this.task.Currency); createTask.InputBudget(this.task.Budget); createTask.ChooseRewardType(this.task.RewardType); createTask.ClickOnAdditionalInformationLink(); createTask.ChooseLanguage(this.task.ContractorsLanguages.firstLanguage, this.task.ContractorsLanguages.additionalLanguage); createTask.ChooseVisibility(this.task.Visibility); createTask.InputSkills(this.task.Skills.csharp, this.task.Skills.java, this.task.Skills.python); createTask.ChooseDuration(this.task.Duration); createTask.ChooseEmployment(this.task.Employment); ApplicationsPage appPage = createTask.ClickOnPublishButton(); Assert.AreEqual(this.task.Title, appPage.GetTaskTitle(), "Task was not created. Task title is not correct on Applications page."); managePopUp = appHeader.DoubleClickOnManageDropDown(); tasksPage = managePopUp.ClickOnTasksMenuItem(); Assert.Contains(this.task.Title, tasksPage.GetTasksTitles(), "Task was not created. Task title is not found on the Tasks Page"); SearchPopUp searchPopUp = appHeader.DoubleClickOnSearchPopUp(); TasksSearchPage taskSearchPage = searchPopUp.ClickOnTasksMenuItem(); Assert.Contains(this.task.Title, taskSearchPage.GetTasksTitles(), "Task was not created. Task title is not found on Tasks Search Page"); managePopUp = appHeader.DoubleClickOnManageDropDown(); tasksPage = managePopUp.ClickOnTasksMenuItem(); appPage = tasksPage.ClickOnTaskFolder(this.task.Title); appPage.ChangeTaskStatus(this.task.TaskStatus); }
public void SwipeTask_ToTheRight_ChangeTaskStatus(bool changeStatus) { //Arrange int index = 0; bool isTaskCompleted = TasksPage.IsTextStrikeThrough(index); //Act TasksPage.SwipeTaskTo(true, true, index).ChangeTaskStatusFromSwipedTask(changeStatus); //Assert if (changeStatus) { Assert.True(TasksPage.IsTextStrikeThrough(index) == !isTaskCompleted); } else { Assert.True(TasksPage.IsTextStrikeThrough(index) == isTaskCompleted); } }
public void Logout_UserIsLoggedOut_ReturnsToLoginPage(bool logOut) { //Arrange TasksPage.OpenDrawer(); //Act TasksPage.ShowLogoutDialog().Logout(logOut); //Assert if (logOut) { Assert.DoesNotThrow(() => App.WaitForElement(LoginPage.Trait.Current)); } else { Assert.DoesNotThrow(() => App.WaitForElement(TasksPage.Trait.Current)); } Assert.True(!TasksPage.IsDrawerOpen()); }
public void SwipeTask_ToTheLeft_DeleteTask(bool deleteIt) { //Arrange int initialNumberOfTask = TasksPage.GetCurrentNumberOfTasks(); //Act TasksPage.SwipeTaskTo(false).DeleteTaskFromSwipedTask(deleteIt); //Assert int finalNumberOfTask = TasksPage.GetCurrentNumberOfTasks(); if (deleteIt) { Assert.True(initialNumberOfTask - 1 == finalNumberOfTask); } else { Assert.True(initialNumberOfTask == finalNumberOfTask); } }
public void AddEditTask_InvalidTitleAndContent_ShowsAValidationError(bool addTask) { //Arrange string title = string.Empty; string content = string.Empty; if (addTask) { TasksPage.GoToNewTaskPage(); } else { TasksPage.GoToNewTaskPage(TasksPage.GetCurrentNumberOfTasks() - 1); } //Act - Assert Assert.Throws <Exception>(() => NewTaskPage.AddEditNewTask(title, content)); Assert.True(NewTaskPage.IsTaskTitleErrorValidationVisible()); Assert.True(NewTaskPage.IsTaskContentErrorValidationVisibile()); }
public void DeleteTask_FreshCreatedTask_MustBeDeleted() { //Arrange int initialNumberOfTask = TasksPage.GetCurrentNumberOfTasks(); TasksPage.GoToNewTaskPage(); NewTaskPage.AddEditNewTask("A Task", "This task will be deleted"); //Act //E.g: initially you have 3 task, create another one and you will have 4, but the corresponding //index will be equal to the initial number of tasks TaskMenuOptionsDialog.ShowMainDialog(initialNumberOfTask) .ShowDeleteTaskDialog() .DeleteTask(true); //Assert int finalNumberOfTask = TasksPage.GetCurrentNumberOfTasks(); Assert.True(initialNumberOfTask == finalNumberOfTask); }
public void ChangeAccentColor_AccentColorIsChanged() { //Arrange var currentAccentColor = TasksPage.GetAppBarBgColor(); TasksPage.OpenDrawer().GoToSettings(); var colors = SettingsPage.GoToGeneral().GetAllAccentColors(); var accentColor = colors.First(c => !SettingsPage.ColorsAreClose(c, currentAccentColor)); int accentColorIndex = colors.IndexOf(accentColor); //Act SettingsPage.SetAccentColor(accentColorIndex); //Assert //Since we are changing the theme, the activity must be restarted TasksPage.AssertOnPage(TimeSpan.FromSeconds(10)); var finalAccentColor = TasksPage.GetAppBarBgColor(); Assert.True(TasksPage.ColorsAreClose(finalAccentColor, accentColor)); }
public void EditTask_CreatesOrNotANewTaskList(bool createTaskList) { //Arrange string newTitle = "Edited title"; string newContent = "This task is edited"; AddNewTask_CreatesOrNotANewTaskList(createTaskList); int initialNumberOfTask = TasksPage.GetCurrentNumberOfTasks(); int taskIndex = initialNumberOfTask - 1; //Act TasksPage.GoToNewTaskPage(taskIndex); NewTaskPage.AddEditNewTask(newTitle, newContent); //Assert int finalNumberOfTasks = TasksPage.GetCurrentNumberOfTasks(); Assert.True(initialNumberOfTask == finalNumberOfTasks); Assert.AreEqual(newTitle, TasksPage.GetTaskTitle(taskIndex)); Assert.AreEqual(newContent, TasksPage.GetTaskContent(taskIndex)); }
public void ChangeTheme_ThemeIsChanged() { //Arrange TasksPage.OpenDrawer(); var currentThemeColor = TasksPage.GetNavigationViewBgColor(); TasksPage.GoToSettings(); //Act SettingsPage.GoToGeneral() .OpenAppThemeDialog() .ChangeAppTheme(); //Assert //Since we are changing the theme, the activity must be restarted TasksPage.AssertOnPage(TimeSpan.FromSeconds(10)); TasksPage.OpenDrawer(); var finalThemeColor = TasksPage.GetNavigationViewBgColor(); Assert.True(currentThemeColor != finalThemeColor); }
public void ChangeTaskStatus_TaskAlreadyExists_ShouldChangeIt(bool changeIt) { //Arrange int index = 0; bool isTaskCompleted = TasksPage.IsTextStrikeThrough(index); //Act TaskMenuOptionsDialog.ShowMainDialog(index) .ShowChangeTaskStatusDialog() .ChangeTaskStatus(changeIt); //Assert if (changeIt) { Assert.True(TasksPage.IsTextStrikeThrough(index) == !isTaskCompleted); } else { Assert.True(TasksPage.IsTextStrikeThrough(index) == isTaskCompleted); } }