From ed531fc32db829102f659c23f69988913527506a Mon Sep 17 00:00:00 2001 From: Chen-Wei Sun Date: Thu, 15 Oct 2026 00:53:10 +0800 Subject: [PATCH] test(e2e): make plugin e2e tests pass on a fresh database DataFlowTester runs no migrations, so a test only has the tables it flushes or imports. Several e2e tests ran subtasks that read or write other tables, which only existed because an earlier test (in the same package or another plugin) had created them on the shared CI database. Flush the tables those subtasks touch, and import the existing snapshots where a test relied on data left by an earlier test. Give the DORA change lead time test its own accounts fixture with a bot account, so the bot exclusion for the first review is now covered. --- backend/plugins/bitbucket/e2e/comment_test.go | 2 ++ .../customize/e2e/import_issue_changelogs_test.go | 1 + .../customize/e2e/import_issue_commits_test.go | 2 ++ .../customize/e2e/import_issue_worklogs_test.go | 1 + .../dora/e2e/calculate_change_lead_time_test.go | 2 ++ .../plugins/dora/e2e/change_lead_time/accounts.csv | 3 +++ .../e2e/change_lead_time/pull_request_comments.csv | 1 + backend/plugins/github/e2e/milestone_test.go | 3 +++ backend/plugins/github/e2e/pr_review_test.go | 1 + backend/plugins/gitlab/e2e/issues_test.go | 2 ++ backend/plugins/gitlab/e2e/mr_detail_test.go | 3 +++ backend/plugins/gitlab/e2e/mr_notes_test.go | 2 ++ backend/plugins/gitlab/e2e/mr_test.go | 5 +++++ backend/plugins/jira/e2e/epic_test.go | 2 ++ backend/plugins/jira/e2e/issue_relationship_test.go | 1 + backend/plugins/jira/e2e/issue_test.go | 13 +++++++++++++ backend/plugins/linear/e2e/issue_history_test.go | 2 ++ backend/plugins/opsgenie/e2e/incident_test.go | 1 + backend/plugins/pagerduty/e2e/incident_test.go | 1 + backend/plugins/tapd/e2e/bugs_test.go | 7 +++++++ backend/plugins/tapd/e2e/stories_test.go | 8 ++++++++ backend/plugins/tapd/e2e/tasks_test.go | 6 ++++++ backend/plugins/teambition/e2e/sprint_test.go | 1 + backend/plugins/teambition/e2e/task_test.go | 2 ++ 24 files changed, 72 insertions(+) create mode 100644 backend/plugins/dora/e2e/change_lead_time/accounts.csv diff --git a/backend/plugins/bitbucket/e2e/comment_test.go b/backend/plugins/bitbucket/e2e/comment_test.go index 79e44df0e4a..e68525aee35 100644 --- a/backend/plugins/bitbucket/e2e/comment_test.go +++ b/backend/plugins/bitbucket/e2e/comment_test.go @@ -98,6 +98,8 @@ func TestCommentDataFlow(t *testing.T) { ) // verify comment conversion + // the issue comment convertor joins _tool_bitbucket_issues + dataflowTester.ImportCsvIntoTabler("./snapshot_tables/_tool_bitbucket_issues.csv", &models.BitbucketIssue{}) dataflowTester.FlushTabler(&ticket.IssueComment{}) dataflowTester.FlushTabler(&code.PullRequestComment{}) dataflowTester.Subtask(tasks.ConvertIssueCommentsMeta, taskData) diff --git a/backend/plugins/customize/e2e/import_issue_changelogs_test.go b/backend/plugins/customize/e2e/import_issue_changelogs_test.go index 2f47b53590c..3e64147eb96 100644 --- a/backend/plugins/customize/e2e/import_issue_changelogs_test.go +++ b/backend/plugins/customize/e2e/import_issue_changelogs_test.go @@ -35,6 +35,7 @@ func TestImportIssueChangelogDataFlow(t *testing.T) { // 清空表 dataflowTester.FlushTabler(&ticket.IssueChangelogs{}) dataflowTester.FlushTabler(&crossdomain.Account{}) + dataflowTester.FlushTabler(&ticket.BoardIssue{}) // 初始化服务 svc := service.NewService(dataflowTester.Dal) diff --git a/backend/plugins/customize/e2e/import_issue_commits_test.go b/backend/plugins/customize/e2e/import_issue_commits_test.go index b6700e1c0eb..c12a2bc9347 100644 --- a/backend/plugins/customize/e2e/import_issue_commits_test.go +++ b/backend/plugins/customize/e2e/import_issue_commits_test.go @@ -22,6 +22,7 @@ import ( "testing" "github.com/apache/devlake/core/models/domainlayer/crossdomain" + "github.com/apache/devlake/core/models/domainlayer/ticket" "github.com/apache/devlake/helpers/e2ehelper" "github.com/apache/devlake/plugins/customize/impl" "github.com/apache/devlake/plugins/customize/service" @@ -33,6 +34,7 @@ func TestImportIssueCommitDataFlow(t *testing.T) { // create table `issue_commits` dataflowTester.FlushTabler(&crossdomain.IssueCommit{}) + dataflowTester.FlushTabler(&ticket.BoardIssue{}) svc := service.NewService(dataflowTester.Dal) f, err1 := os.Open("raw_tables/issues_commits.csv") diff --git a/backend/plugins/customize/e2e/import_issue_worklogs_test.go b/backend/plugins/customize/e2e/import_issue_worklogs_test.go index 5d2b2b4fa5a..85363b99500 100644 --- a/backend/plugins/customize/e2e/import_issue_worklogs_test.go +++ b/backend/plugins/customize/e2e/import_issue_worklogs_test.go @@ -35,6 +35,7 @@ func TestImportIssueWorklogDataFlow(t *testing.T) { // 清空表 dataflowTester.FlushTabler(&ticket.IssueWorklog{}) dataflowTester.FlushTabler(&crossdomain.Account{}) + dataflowTester.FlushTabler(&ticket.BoardIssue{}) // 初始化服务 svc := service.NewService(dataflowTester.Dal) diff --git a/backend/plugins/dora/e2e/calculate_change_lead_time_test.go b/backend/plugins/dora/e2e/calculate_change_lead_time_test.go index 1c591108a32..626929c7817 100644 --- a/backend/plugins/dora/e2e/calculate_change_lead_time_test.go +++ b/backend/plugins/dora/e2e/calculate_change_lead_time_test.go @@ -50,6 +50,8 @@ func TestCalculateCLTimeDataFlow(t *testing.T) { dataflowTester.ImportNullableCsvIntoTabler("./change_lead_time/commits_diffs.csv", &code.CommitsDiff{}) dataflowTester.ImportCsvIntoTabler("./change_lead_time/pull_request_comments.csv", &code.PullRequestComment{}) dataflowTester.ImportCsvIntoTabler("./change_lead_time/pull_request_commits.csv", &code.PullRequestCommit{}) + // bot1 comments on pr1 before the first human review; it must not be counted as the first review + dataflowTester.ImportCsvIntoTabler("./change_lead_time/accounts.csv", &crossdomain.Account{}) // verify converter dataflowTester.FlushTabler(&crossdomain.ProjectPrMetric{}) diff --git a/backend/plugins/dora/e2e/change_lead_time/accounts.csv b/backend/plugins/dora/e2e/change_lead_time/accounts.csv new file mode 100644 index 00000000000..dcbc9c7bc27 --- /dev/null +++ b/backend/plugins/dora/e2e/change_lead_time/accounts.csv @@ -0,0 +1,3 @@ +id,user_name,is_bot +b,reviewer-b,0 +bot1,ci-bot,1 diff --git a/backend/plugins/dora/e2e/change_lead_time/pull_request_comments.csv b/backend/plugins/dora/e2e/change_lead_time/pull_request_comments.csv index 513e617b060..cc8d062c8f4 100644 --- a/backend/plugins/dora/e2e/change_lead_time/pull_request_comments.csv +++ b/backend/plugins/dora/e2e/change_lead_time/pull_request_comments.csv @@ -1,5 +1,6 @@ id,pull_request_id,created_date,account_id comment00,pr0,2022-1-11 8:51:47,a +comment01_bot,pr1,2023-4-11 4:52:47,bot1 comment01,pr1,2023-4-11 4:53:47,a comment02,pr1,2023-4-11 4:56:47,b comment03,pr1,2023-4-11 4:59:47,c diff --git a/backend/plugins/github/e2e/milestone_test.go b/backend/plugins/github/e2e/milestone_test.go index 83d7783ff54..c810590f287 100644 --- a/backend/plugins/github/e2e/milestone_test.go +++ b/backend/plugins/github/e2e/milestone_test.go @@ -52,6 +52,9 @@ func TestMilestoneDataFlow(t *testing.T) { dataflowTester.FlushTabler(&models.GithubMilestone{}) dataflowTester.FlushTabler(&models.GithubIssue{}) + dataflowTester.FlushTabler(&models.GithubIssueLabel{}) + dataflowTester.FlushTabler(&models.GithubRepoAccount{}) + dataflowTester.FlushTabler(&models.GithubIssueAssignee{}) // import raw data table dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_github_api_milestones.csv", "_raw_"+tasks.RAW_MILESTONE_TABLE) diff --git a/backend/plugins/github/e2e/pr_review_test.go b/backend/plugins/github/e2e/pr_review_test.go index 2cbc30cc548..e72ef9c3b50 100644 --- a/backend/plugins/github/e2e/pr_review_test.go +++ b/backend/plugins/github/e2e/pr_review_test.go @@ -48,6 +48,7 @@ func TestPrReviewDataFlow(t *testing.T) { // verify extraction dataflowTester.FlushTabler(&models.GithubReviewer{}) dataflowTester.FlushTabler(&models.GithubPrReview{}) + dataflowTester.FlushTabler(&models.GithubRepoAccount{}) dataflowTester.Subtask(tasks.ExtractApiPullRequestReviewsMeta, taskData) dataflowTester.VerifyTable( models.GithubPrReview{}, diff --git a/backend/plugins/gitlab/e2e/issues_test.go b/backend/plugins/gitlab/e2e/issues_test.go index 33a1d3d9043..24f0f9a0897 100644 --- a/backend/plugins/gitlab/e2e/issues_test.go +++ b/backend/plugins/gitlab/e2e/issues_test.go @@ -92,6 +92,8 @@ func TestGitlabIssueDataFlow(t *testing.T) { // verify conversion dataflowTester.FlushTabler(&ticket.Issue{}) dataflowTester.FlushTabler(&ticket.BoardIssue{}) + dataflowTester.FlushTabler(&ticket.IssueLabel{}) + dataflowTester.FlushTabler(&ticket.IssueAssignee{}) dataflowTester.Subtask(tasks.ConvertIssuesMeta, taskData) dataflowTester.VerifyTable( ticket.Issue{}, diff --git a/backend/plugins/gitlab/e2e/mr_detail_test.go b/backend/plugins/gitlab/e2e/mr_detail_test.go index 85900c26109..959ba7a24b4 100644 --- a/backend/plugins/gitlab/e2e/mr_detail_test.go +++ b/backend/plugins/gitlab/e2e/mr_detail_test.go @@ -49,6 +49,8 @@ func TestGitlabMrDetailDataFlow(t *testing.T) { // verify extraction dataflowTester.FlushTabler(&models.GitlabMergeRequest{}) dataflowTester.FlushTabler(&models.GitlabMrLabel{}) + dataflowTester.FlushTabler(&models.GitlabReviewer{}) + dataflowTester.FlushTabler(&models.GitlabAssignee{}) dataflowTester.Subtask(tasks.ExtractApiMergeRequestDetailsMeta, taskData) dataflowTester.VerifyTableWithOptions(&models.GitlabMergeRequest{}, e2ehelper.TableOptions{ CSVRelPath: "./snapshot_tables/_tool_gitlab_merge_request_details.csv", @@ -61,6 +63,7 @@ func TestGitlabMrDetailDataFlow(t *testing.T) { // verify conversion dataflowTester.FlushTabler(&code.PullRequest{}) + dataflowTester.FlushTabler(&code.PullRequestLabel{}) dataflowTester.Subtask(tasks.ConvertApiMergeRequestsMeta, taskData) dataflowTester.VerifyTableWithOptions(&code.PullRequest{}, e2ehelper.TableOptions{ CSVRelPath: "./snapshot_tables/pull_requests.csv", diff --git a/backend/plugins/gitlab/e2e/mr_notes_test.go b/backend/plugins/gitlab/e2e/mr_notes_test.go index 66567818b7e..45ec5c9f7f4 100644 --- a/backend/plugins/gitlab/e2e/mr_notes_test.go +++ b/backend/plugins/gitlab/e2e/mr_notes_test.go @@ -46,6 +46,8 @@ func TestGitlabMrNoteDataFlow(t *testing.T) { // verify extraction dataflowTester.FlushTabler(&models.GitlabMergeRequest{}) dataflowTester.FlushTabler(&models.GitlabMrLabel{}) + dataflowTester.FlushTabler(&models.GitlabReviewer{}) + dataflowTester.FlushTabler(&models.GitlabAssignee{}) dataflowTester.Subtask(tasks.ExtractApiMergeRequestsMeta, taskData) dataflowTester.VerifyTable( models.GitlabMergeRequest{}, diff --git a/backend/plugins/gitlab/e2e/mr_test.go b/backend/plugins/gitlab/e2e/mr_test.go index a1789eeb40d..fe6fb267190 100644 --- a/backend/plugins/gitlab/e2e/mr_test.go +++ b/backend/plugins/gitlab/e2e/mr_test.go @@ -47,6 +47,8 @@ func TestGitlabMrDataFlow(t *testing.T) { // verify extraction dataflowTester.FlushTabler(&models.GitlabMergeRequest{}) dataflowTester.FlushTabler(&models.GitlabMrLabel{}) + dataflowTester.FlushTabler(&models.GitlabReviewer{}) + dataflowTester.FlushTabler(&models.GitlabAssignee{}) dataflowTester.Subtask(tasks.ExtractApiMergeRequestsMeta, taskData) dataflowTester.VerifyTableWithOptions(&models.GitlabMergeRequest{}, e2ehelper.TableOptions{ CSVRelPath: "./snapshot_tables/_tool_gitlab_merge_requests.csv", @@ -59,6 +61,9 @@ func TestGitlabMrDataFlow(t *testing.T) { // verify conversion dataflowTester.FlushTabler(&code.PullRequest{}) + dataflowTester.FlushTabler(&code.PullRequestAssignee{}) + dataflowTester.FlushTabler(&code.PullRequestReviewer{}) + dataflowTester.FlushTabler(&code.PullRequestLabel{}) dataflowTester.Subtask(tasks.ConvertApiMergeRequestsMeta, taskData) dataflowTester.VerifyTableWithOptions(&code.PullRequest{}, e2ehelper.TableOptions{ CSVRelPath: "./snapshot_tables/pull_requests.csv", diff --git a/backend/plugins/jira/e2e/epic_test.go b/backend/plugins/jira/e2e/epic_test.go index 49f89e93619..0cfeed16ba8 100644 --- a/backend/plugins/jira/e2e/epic_test.go +++ b/backend/plugins/jira/e2e/epic_test.go @@ -53,6 +53,8 @@ func TestEpicDataflow(t *testing.T) { dataflowTester.FlushTabler(&models.JiraAccount{}) dataflowTester.FlushTabler(&models.JiraIssueType{}) dataflowTester.FlushTabler(&models.JiraIssueComment{}) + dataflowTester.FlushTabler(&models.JiraIssueLabel{}) + dataflowTester.FlushTabler(&models.JiraIssueField{}) ctx := dataflowTester.SubtaskContext(taskData) diff --git a/backend/plugins/jira/e2e/issue_relationship_test.go b/backend/plugins/jira/e2e/issue_relationship_test.go index 0634deed80a..a87039b3c70 100644 --- a/backend/plugins/jira/e2e/issue_relationship_test.go +++ b/backend/plugins/jira/e2e/issue_relationship_test.go @@ -54,6 +54,7 @@ func TestIssueRelationshipDataFlow(t *testing.T) { dataflowTester.FlushTabler(&models.JiraAccount{}) dataflowTester.FlushTabler(&models.JiraIssueType{}) dataflowTester.FlushTabler(&models.JiraIssueLabel{}) + dataflowTester.FlushTabler(&models.JiraIssueField{}) dataflowTester.Subtask(tasks.ExtractIssuesMeta, taskData) dataflowTester.VerifyTableWithOptions(&models.JiraIssueRelationship{}, e2ehelper.TableOptions{ diff --git a/backend/plugins/jira/e2e/issue_test.go b/backend/plugins/jira/e2e/issue_test.go index 99512768dfb..ffc58642c52 100644 --- a/backend/plugins/jira/e2e/issue_test.go +++ b/backend/plugins/jira/e2e/issue_test.go @@ -281,10 +281,23 @@ func TestIssueSubtaskWithoutMapping(t *testing.T) { dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_jira_api_issues.csv", "_raw_jira_api_issues") dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_jira_api_issue_types.csv", "_raw_jira_api_issue_types") + dataflowTester.FlushTabler(&models.JiraIssue{}) + dataflowTester.FlushTabler(&models.JiraBoardIssue{}) + dataflowTester.FlushTabler(&models.JiraSprintIssue{}) + dataflowTester.FlushTabler(&models.JiraIssueComment{}) + dataflowTester.FlushTabler(&models.JiraIssueChangelogs{}) + dataflowTester.FlushTabler(&models.JiraIssueChangelogItems{}) + dataflowTester.FlushTabler(&models.JiraWorklog{}) + dataflowTester.FlushTabler(&models.JiraAccount{}) + dataflowTester.FlushTabler(&models.JiraIssueType{}) + dataflowTester.FlushTabler(&models.JiraIssueLabel{}) + dataflowTester.FlushTabler(&models.JiraIssueField{}) dataflowTester.Subtask(tasks.ExtractIssueTypesMeta, taskData) dataflowTester.Subtask(tasks.ExtractIssuesMeta, taskData) dataflowTester.FlushTabler(&ticket.Issue{}) + dataflowTester.FlushTabler(&ticket.BoardIssue{}) + dataflowTester.FlushTabler(&ticket.IssueAssignee{}) dataflowTester.Subtask(tasks.ConvertIssuesMeta, taskData) dataflowTester.VerifyTable( diff --git a/backend/plugins/linear/e2e/issue_history_test.go b/backend/plugins/linear/e2e/issue_history_test.go index 165f8626a56..dfc00928093 100644 --- a/backend/plugins/linear/e2e/issue_history_test.go +++ b/backend/plugins/linear/e2e/issue_history_test.go @@ -56,6 +56,8 @@ func TestLinearIssueHistoryDataFlow(t *testing.T) { // verify conversion: tool layer -> domain layer dataflowTester.FlushTabler(&ticket.IssueChangelogs{}) + // the convertor also updates issues.lead_time_minutes + dataflowTester.FlushTabler(&ticket.Issue{}) dataflowTester.Subtask(tasks.ConvertIssueHistoryMeta, taskData) dataflowTester.VerifyTableWithOptions(ticket.IssueChangelogs{}, e2ehelper.TableOptions{ CSVRelPath: "./snapshot_tables/issue_changelogs.csv", diff --git a/backend/plugins/opsgenie/e2e/incident_test.go b/backend/plugins/opsgenie/e2e/incident_test.go index 4ac7a741a54..e1d51d8e811 100644 --- a/backend/plugins/opsgenie/e2e/incident_test.go +++ b/backend/plugins/opsgenie/e2e/incident_test.go @@ -119,6 +119,7 @@ func TestIncidentDataFlow(t *testing.T) { ) dataflowTester.FlushTabler(&ticket.Issue{}) dataflowTester.FlushTabler(&ticket.IssueAssignee{}) + dataflowTester.FlushTabler(&ticket.BoardIssue{}) dataflowTester.Subtask(tasks.ConvertIncidentsMeta, taskData) dataflowTester.VerifyTableWithOptions( ticket.Issue{}, diff --git a/backend/plugins/pagerduty/e2e/incident_test.go b/backend/plugins/pagerduty/e2e/incident_test.go index 28b28f97542..41f15d7f42d 100644 --- a/backend/plugins/pagerduty/e2e/incident_test.go +++ b/backend/plugins/pagerduty/e2e/incident_test.go @@ -87,6 +87,7 @@ func TestIncidentDataFlow(t *testing.T) { ) dataflowTester.FlushTabler(&ticket.Issue{}) dataflowTester.FlushTabler(&ticket.IssueAssignee{}) + dataflowTester.FlushTabler(&ticket.BoardIssue{}) dataflowTester.Subtask(tasks.ConvertIncidentsMeta, taskData) dataflowTester.VerifyTableWithOptions( ticket.Issue{}, diff --git a/backend/plugins/tapd/e2e/bugs_test.go b/backend/plugins/tapd/e2e/bugs_test.go index 3fd6043e502..27bd9432441 100644 --- a/backend/plugins/tapd/e2e/bugs_test.go +++ b/backend/plugins/tapd/e2e/bugs_test.go @@ -188,7 +188,11 @@ func TestTapdBugCustomizeDueDate(t *testing.T) { }, } + dataflowTester.ImportCsvIntoTabler("./snapshot_tables/_tool_tapd_bug_statuses.csv", &models.TapdBugStatus{}) dataflowTester.FlushTabler(&models.TapdBug{}) + dataflowTester.FlushTabler(&models.TapdWorkSpaceBug{}) + dataflowTester.FlushTabler(&models.TapdIterationBug{}) + dataflowTester.FlushTabler(&models.TapdBugLabel{}) // import raw data table dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_tapd_api_bugs_for_due_date.csv", "_raw_tapd_api_bugs") dataflowTester.Subtask(tasks.ExtractBugMeta, taskData) @@ -198,6 +202,9 @@ func TestTapdBugCustomizeDueDate(t *testing.T) { }) dataflowTester.FlushTabler(&ticket.Issue{}) + dataflowTester.FlushTabler(&ticket.BoardIssue{}) + dataflowTester.FlushTabler(&ticket.SprintIssue{}) + dataflowTester.FlushTabler(&ticket.IssueAssignee{}) dataflowTester.Subtask(tasks.ConvertBugMeta, taskData) dataflowTester.VerifyTable( ticket.Issue{}, diff --git a/backend/plugins/tapd/e2e/stories_test.go b/backend/plugins/tapd/e2e/stories_test.go index f3ade915ae4..7f87a9df22e 100644 --- a/backend/plugins/tapd/e2e/stories_test.go +++ b/backend/plugins/tapd/e2e/stories_test.go @@ -159,10 +159,15 @@ func TestTapdStoryCustomizeDueDate(t *testing.T) { }, }, } + dataflowTester.ImportCsvIntoTabler("./snapshot_tables/_tool_tapd_workitem_types.csv", &models.TapdWorkitemType{}) + dataflowTester.ImportCsvIntoTabler("./snapshot_tables/_tool_tapd_story_statuses.csv", &models.TapdStoryStatus{}) // import raw data table dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_tapd_api_stories_for_due_date.csv", "_raw_tapd_api_stories") dataflowTester.FlushTabler(&models.TapdStory{}) + dataflowTester.FlushTabler(&models.TapdWorkSpaceStory{}) + dataflowTester.FlushTabler(&models.TapdIterationStory{}) + dataflowTester.FlushTabler(&models.TapdStoryLabel{}) dataflowTester.Subtask(tasks.ExtractStoryMeta, taskData) dataflowTester.VerifyTableWithOptions(&models.TapdStory{}, e2ehelper.TableOptions{ CSVRelPath: "./snapshot_tables/_tool_tapd_stories_for_due_date.csv", @@ -170,6 +175,9 @@ func TestTapdStoryCustomizeDueDate(t *testing.T) { }) dataflowTester.FlushTabler(&ticket.Issue{}) + dataflowTester.FlushTabler(&ticket.BoardIssue{}) + dataflowTester.FlushTabler(&ticket.SprintIssue{}) + dataflowTester.FlushTabler(&ticket.IssueAssignee{}) dataflowTester.Subtask(tasks.ConvertStoryMeta, taskData) dataflowTester.VerifyTableWithOptions(&ticket.Issue{}, e2ehelper.TableOptions{ CSVRelPath: "./snapshot_tables/issues_story_for_due_date.csv", diff --git a/backend/plugins/tapd/e2e/tasks_test.go b/backend/plugins/tapd/e2e/tasks_test.go index 2c1eb43de1d..9ecc92f3185 100644 --- a/backend/plugins/tapd/e2e/tasks_test.go +++ b/backend/plugins/tapd/e2e/tasks_test.go @@ -154,6 +154,9 @@ func TestTapdTaskCustomizeDueDate(t *testing.T) { // verify extraction dataflowTester.FlushTabler(&models.TapdTask{}) + dataflowTester.FlushTabler(&models.TapdWorkSpaceTask{}) + dataflowTester.FlushTabler(&models.TapdIterationTask{}) + dataflowTester.FlushTabler(&models.TapdTaskLabel{}) dataflowTester.Subtask(tasks.ExtractTaskMeta, taskData) dataflowTester.VerifyTableWithOptions(&models.TapdTask{}, e2ehelper.TableOptions{ CSVRelPath: "./snapshot_tables/_tool_tapd_tasks_for_due_date.csv", @@ -161,6 +164,9 @@ func TestTapdTaskCustomizeDueDate(t *testing.T) { }) dataflowTester.FlushTabler(&ticket.Issue{}) + dataflowTester.FlushTabler(&ticket.BoardIssue{}) + dataflowTester.FlushTabler(&ticket.SprintIssue{}) + dataflowTester.FlushTabler(&ticket.IssueAssignee{}) dataflowTester.Subtask(tasks.ConvertTaskMeta, taskData) dataflowTester.VerifyTableWithOptions(&ticket.Issue{}, e2ehelper.TableOptions{ CSVRelPath: "./snapshot_tables/issues_task_for_due_date.csv", diff --git a/backend/plugins/teambition/e2e/sprint_test.go b/backend/plugins/teambition/e2e/sprint_test.go index 32dffe0dffc..5459e931dd6 100644 --- a/backend/plugins/teambition/e2e/sprint_test.go +++ b/backend/plugins/teambition/e2e/sprint_test.go @@ -57,6 +57,7 @@ func TestTeambitionSprints(t *testing.T) { ) dataflowTester.FlushTabler(&ticket.Sprint{}) + dataflowTester.FlushTabler(&ticket.BoardSprint{}) dataflowTester.Subtask(tasks.ConvertSprintsMeta, taskData) dataflowTester.VerifyTableWithOptions( ticket.Sprint{}, diff --git a/backend/plugins/teambition/e2e/task_test.go b/backend/plugins/teambition/e2e/task_test.go index c242c56a466..9aadbba060c 100644 --- a/backend/plugins/teambition/e2e/task_test.go +++ b/backend/plugins/teambition/e2e/task_test.go @@ -89,6 +89,8 @@ func TestTeambitionTask(t *testing.T) { dataflowTester.FlushTabler(&ticket.IssueAssignee{}) dataflowTester.FlushTabler(&ticket.Issue{}) + dataflowTester.FlushTabler(&ticket.BoardIssue{}) + dataflowTester.FlushTabler(&ticket.SprintIssue{}) dataflowTester.Subtask(tasks.ConvertTasksMeta, taskData) dataflowTester.VerifyTableWithOptions( ticket.Issue{},