createTaskList method
Implementation
Future<String> createTaskList(
String title, {
String? description,
List<String>? tasks,
String? selectSpaceId,
}) async {
final params = {
CreateUpdateTaskList.titleKey: title,
};
if (description != null) {
params[CreateUpdateTaskList.descKey] = description;
}
await fillForm(
params,
// we are coming from space, we don't need to select it.
submitBtnKey: CreateUpdateTaskList.submitKey,
selectSpaceId: selectSpaceId,
);
final taskListPage = find.byKey(TaskListDetailPage.pageKey);
await taskListPage.should(findsOneWidget);
// // read the actual spaceId
final page = taskListPage.evaluate().first.widget as TaskListDetailPage;
final taskListId = page.taskListId;
final inlineAddBtn =
find.byKey(Key('task-list-$taskListId-add-task-inline'));
await inlineAddBtn.should(findsOneWidget);
await ensureHasBackButton();
if (tasks != null) {
await inlineAddBtn.tap(); // activate inline add
await addTasks(taskListId, tasks);
// close inline add
final cancelInlineAdd =
find.byKey(Key('task-list-$taskListId-add-task-inline-cancel'));
await cancelInlineAdd.should(findsOneWidget);
await cancelInlineAdd.tap();
}
return taskListId;
}