private async Task MapTwoNewTasks(TaskStatus projectTaskStatus, string taskStatus, string tasksFolderName, Func <IOutlookTaskFolderRequestBuilder, IObservable <Unit> > afterAssert = null) { using (var application = Platform.Win.TodoModule().Application){ (IOutlookTaskFolderRequestBuilder requestBuilder, Frame frame)builder = await application.InitializeService(tasksFolderName); try{ await builder.frame.View.ObjectSpace.Map_Two_New_Entity( (space, i) => space.NewTask(projectTaskStatus, i), Timeout, space => TodoService.Updated.TakeUntilDisposed(application), (task, outlookTask, i) => { application.ObjectSpaceProvider.AssertTask(typeof(OutlookTask), task, outlookTask.Subject, outlookTask.Body.Content, DateTime.Parse(outlookTask.DueDateTime.DateTime, CultureInfo.InvariantCulture), taskStatus, $"{outlookTask.Status}", outlookTask.Id, task.Subject); }); } finally{ if (afterAssert != null) { await afterAssert(builder.requestBuilder); } } } }
public static Task NewTask(this XafApplication application, TaskStatus taskStatus) { using (var objectSpace = application.CreateObjectSpace()){ var task = objectSpace.NewTask(taskStatus); objectSpace.CommitChanges(); return(task); } }
public static Task NewTask(this IObjectSpace objectSpace, TaskStatus taskStatus, int index = 0) { var task = objectSpace.CreateObject <Task>(); task.Subject = $"Subject{index}"; task.Description = "Description"; task.StartDate = DateTime.Now.AddMinutes(1); task.DueDate = DateTime.Now.AddMinutes(2); task.Status = taskStatus; return(task); }
public static async Task <IList <(Task task, OutlookTask outlookTask)> > CreateExistingObjects( this XafApplication application, string title, TaskStatus taskStatus = TaskStatus.InProgress, int count = 1) { var builder = await application.ObjectSpaceProvider.NewGraphServiceClient(); var folder = await builder.Me.Outlook.TaskFolders.GetFolder(TasksFolderName, true); await builder.Me.Outlook.TaskFolders[folder.Id].DeleteAllTasks(); return(await Observable.Range(0, count).SelectMany(i => { return builder.Me.Outlook.TaskFolders[folder.Id].NewFolderTasks(1, title) .SelectMany(lst => lst).Select(outlookTask1 => (application.NewTask(taskStatus), outlookTask1)); }).Buffer(count)); }
public override async Task Map_Existing_Two_Times(TaskStatus projectTaskStatus, string taskStatus) { using var application = Platform.Win.TasksModule().Application; var builderData = await application.InitializeService(); var existingObjects = (await application.CreateExistingObjects(nameof(Map_Existing_Two_Times), projectTaskStatus)).First(); await builderData.frame.View.ObjectSpace.Map_Existing_Entity_Two_Times(existingObjects.task, (pmeTask, i) => pmeTask.Modify_Task(projectTaskStatus, i), existingObjects.cloudTask , space => GoogleTasksService.Updated.When(MapAction.Update).Select(_ => _.cloud).TakeUntilDisposed(application), (localTask, cloudTask) => { cloudTask.Title.ShouldBe(localTask.Subject); cloudTask.Status.ToString().ShouldBe(taskStatus); return(Task.CompletedTask); }, Timeout); }
public override async Task Map_Existing_Two_Times(TaskStatus projectTaskStatus, string taskStatus) { using (var application = Platform.Win.TodoModule().Application){ var builderData = await application.InitializeService(); var existingObjects = (await application.CreateExistingObjects(nameof(Map_Existing_Two_Times), projectTaskStatus)).First(); await builderData.frame.View.ObjectSpace.Map_Existing_Entity_Two_Times(existingObjects.task, (pmeTask, i) => pmeTask.Modify_Task(projectTaskStatus, i), existingObjects.outlookTask , space => TodoService.Updated.TakeUntilDisposed(application), (task, outlookTask) => { outlookTask.Subject.ShouldBe(task.Subject); outlookTask.Status.ToString().ShouldBe(taskStatus); return(Task.CompletedTask); }, Timeout); } }
private async Task MapTwoNewTasks(TaskStatus projectTaskStatus, string expectedStatus, string tasksFolderName, Func <global::Google.Apis.Tasks.v1.TasksService, IObservable <Unit> > afterAssert = null, bool keepTaskFolder = false) { using var application = Platform.Win.TasksModule().Application; var builder = await application.InitializeService(tasksFolderName, keepTaskFolder : keepTaskFolder); await builder.frame.View.ObjectSpace.Map_Two_New_Entity( (space, i) => space.NewTask(projectTaskStatus, i), Timeout, space => GoogleTasksService.Updated.TakeUntilDisposed(application), async (task, _, i) => { if (afterAssert != null) { await afterAssert(builder.service); } else { application.ObjectSpaceProvider.AssertTask(typeof(global::Google.Apis.Tasks.v1.Data.Task), task, _.cloud.Title, _.cloud.Notes, DateTime.Parse(_.cloud.Due), expectedStatus, $"{_.cloud.Status}", _.cloud.Id, task.Subject); } }); }
private async Task MapTwoNewTasks(TaskStatus projectTaskStatus, string taskStatus, string tasksFolderName, Func <IOutlookTaskFolderRequestBuilder, IObservable <Unit> > afterAssert = null, bool keepTaskFolder = false) { using var application = Platform.Win.TodoModule().Application; var builder = await application.InitializeService(tasksFolderName, keepTaskFolder : keepTaskFolder); await builder.frame.View.ObjectSpace.Map_Two_New_Entity( (space, i) => space.NewTask(projectTaskStatus, i), Timeout, space => MicrosoftTodoService.Updated.TakeUntilDisposed(application), async (task, _, i) => { if (afterAssert != null) { await afterAssert(builder.requestBuilder); } else { application.ObjectSpaceProvider.AssertTask(typeof(OutlookTask), task, _.cloud.Subject, _.cloud.Body.Content, DateTime.Parse(_.cloud.DueDateTime.DateTime, CultureInfo.InvariantCulture), taskStatus, $"{_.cloud.Status}", _.cloud.Id, task.Subject); } }); }
public override async Task Map_Two_New_Tasks(TaskStatus projectTaskStatus, string taskStatus) { await MapTwoNewTasks(projectTaskStatus, taskStatus, TodoTestExtensions.TasksFolderName); }
public abstract Task Map_Two_New_Tasks(DevExpress.Persistent.Base.General.TaskStatus projectTaskStatus, string taskStatus);
public abstract Task Map_Existing_Two_Times(DevExpress.Persistent.Base.General.TaskStatus projectTaskStatus, string taskStatus);