-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Reporting test case issues frontend (#208)
* Fix expandable size changes when expanded * Add test result details expandable * Add dummy test case issues expandable * Fetch test case reported issues * Add test issues preloader * Show test issues and support updating them * Add form validation * Add ability to create test case issues * Support deleting test case issues * Add issue deletion confirmation * Move public methods up * Remove trailing comma * Show reported issues count on test result expandable * Use VanillaTextInput in review comment * Show more detailed message on deletion of issue
- Loading branch information
Showing
16 changed files
with
598 additions
and
25 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
import 'package:freezed_annotation/freezed_annotation.dart'; | ||
|
||
part 'test_issue.freezed.dart'; | ||
part 'test_issue.g.dart'; | ||
|
||
@freezed | ||
class TestIssue with _$TestIssue { | ||
const factory TestIssue({ | ||
required int id, | ||
@JsonKey(name: 'template_id') required String templateId, | ||
@JsonKey(name: 'case_name') required String caseName, | ||
required String description, | ||
required String url, | ||
}) = _TestIssue; | ||
|
||
factory TestIssue.fromJson(Map<String, Object?> json) => | ||
_$TestIssueFromJson(json); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
import 'package:dartx/dartx.dart'; | ||
import 'package:riverpod_annotation/riverpod_annotation.dart'; | ||
|
||
import '../models/test_issue.dart'; | ||
import '../models/test_result.dart'; | ||
import 'tests_issues.dart'; | ||
|
||
part 'test_result_issues.g.dart'; | ||
|
||
@riverpod | ||
Future<List<TestIssue>> testResultIssues( | ||
TestResultIssuesRef ref, | ||
TestResult testResult, | ||
) { | ||
return ref.watch( | ||
testsIssuesProvider.selectAsync( | ||
(issues) => issues | ||
.filter( | ||
(issue) => | ||
issue.caseName == testResult.name || | ||
issue.templateId == testResult.templateId, | ||
) | ||
.toList(), | ||
), | ||
); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
import 'package:riverpod_annotation/riverpod_annotation.dart'; | ||
|
||
import '../models/test_issue.dart'; | ||
import 'api.dart'; | ||
|
||
part 'tests_issues.g.dart'; | ||
|
||
@riverpod | ||
class TestsIssues extends _$TestsIssues { | ||
@override | ||
Future<List<TestIssue>> build() { | ||
final api = ref.watch(apiProvider); | ||
return api.getTestIssues(); | ||
} | ||
|
||
void updateIssue(TestIssue issue) async { | ||
final api = ref.read(apiProvider); | ||
final updatedIssue = await api.updateTestIssue(issue); | ||
final issues = await future; | ||
state = AsyncData([ | ||
for (final issue in issues) | ||
issue.id == updatedIssue.id ? updatedIssue : issue, | ||
]); | ||
} | ||
|
||
void createIssue( | ||
String url, | ||
String description, { | ||
String? caseName, | ||
String? templateId, | ||
}) async { | ||
final api = ref.read(apiProvider); | ||
final issue = | ||
await api.createTestIssue(url, description, caseName, templateId); | ||
final issues = await future; | ||
state = AsyncData([...issues, issue]); | ||
} | ||
|
||
void deleteIssue(int issueId) async { | ||
final api = ref.read(apiProvider); | ||
await api.deleteTestIssue(issueId); | ||
final issues = await future; | ||
state = AsyncData([ | ||
for (final issue in issues) | ||
if (issue.id != issueId) issue, | ||
]); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.