Skip to content
代码片段 群组 项目
提交 67f82f95 编辑于 作者: Raymond Liao's avatar Raymond Liao :nerd:
浏览文件

fix: #754 Cannot parse issue url from clipboard.

上级 d772b788
No related branches found
No related tags found
加载中
...@@ -69,7 +69,7 @@ class PasteTypeUrlNavigationModel { ...@@ -69,7 +69,7 @@ class PasteTypeUrlNavigationModel {
query (\$fullPath: ID!, \$iid: String!) { query (\$fullPath: ID!, \$iid: String!) {
project(fullPath: \$fullPath) { project(fullPath: \$fullPath) {
id id
nameWithNamespace fullPath
issue(iid: \$iid) { issue(iid: \$iid) {
id id
iid iid
...@@ -84,7 +84,7 @@ class PasteTypeUrlNavigationModel { ...@@ -84,7 +84,7 @@ class PasteTypeUrlNavigationModel {
'issueIid': int.parse(res.body()['data']['project']['issue']['iid']), 'issueIid': int.parse(res.body()['data']['project']['issue']['iid']),
'targetId': Id.fromGid(res.body()['data']['project']['issue']['id']).id, 'targetId': Id.fromGid(res.body()['data']['project']['issue']['id']).id,
'targetIid': int.parse(res.body()['data']['project']['issue']['iid']), 'targetIid': int.parse(res.body()['data']['project']['issue']['iid']),
'pathWithNamespace': res.body()['data']['project']['nameWithNamespace'], 'pathWithNamespace': res.body()['data']['project']['fullPath'],
'targetUrl': url, 'targetUrl': url,
'showLeading': true 'showLeading': true
}; };
......
...@@ -13,11 +13,14 @@ import 'package:jihu_gitlab_app/modules/issues/details/models/issue_details_mode ...@@ -13,11 +13,14 @@ import 'package:jihu_gitlab_app/modules/issues/details/models/issue_details_mode
import 'package:jihu_gitlab_app/modules/mr/merge_request_page.dart'; import 'package:jihu_gitlab_app/modules/mr/merge_request_page.dart';
import 'package:jihu_gitlab_app/modules/mr/models/graphql_request_body.dart'; import 'package:jihu_gitlab_app/modules/mr/models/graphql_request_body.dart';
import 'package:jihu_gitlab_app/modules/root/model/root_store.dart'; import 'package:jihu_gitlab_app/modules/root/model/root_store.dart';
import 'package:jihu_gitlab_app/routers.dart';
import 'package:mockito/annotations.dart'; import 'package:mockito/annotations.dart';
import 'package:mockito/mockito.dart'; import 'package:mockito/mockito.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import '../../finder/svg_finder.dart';
import '../../mocker/tester.dart'; import '../../mocker/tester.dart';
import '../../test_data/issue.dart';
import '../../test_data/merge_request.dart'; import '../../test_data/merge_request.dart';
import '../net/http_request_test.mocks.dart'; import '../net/http_request_test.mocks.dart';
import 'paste_type_url_navigation_test.mocks.dart'; import 'paste_type_url_navigation_test.mocks.dart';
...@@ -67,16 +70,17 @@ void main() { ...@@ -67,16 +70,17 @@ void main() {
}); });
testWidgets('Should navigate to expect issue details page', (tester) async { testWidgets('Should navigate to expect issue details page', (tester) async {
var params = {'projectId': 72936, 'issueId': 3242, 'issueIid': 0, 'targetId': 45345, 'targetIid': 6, 'pathWithNamespace': 'ultimate-plan/jihu-gitlab-app/demo-mr-test'};
when(clipboard.fromClipboard()).thenAnswer((_) => Future(() => 'https://jihulab.com/ultimate-plan/jihu-gitlab-app/jihu-gitlab-app/-/issues/531/')); when(clipboard.fromClipboard()).thenAnswer((_) => Future(() => 'https://jihulab.com/ultimate-plan/jihu-gitlab-app/jihu-gitlab-app/-/issues/531/'));
when(client.post('/api/graphql', getIssueDetailsGraphQLRequestBody('ultimate-plan/jihu-gitlab-app/demo-mr-test', 6))).thenAnswer((_) => Future(() => Response.of<dynamic>({}))); when(client.post('/api/graphql', getIssueDetailsGraphQLRequestBody('ultimate-plan/jihu-gitlab-app/demo-mr-test', 531)))
.thenAnswer((_) => Future(() => Response.of<dynamic>(issueDetailsGraphQLResponse)));
when(client.get<List<dynamic>>("/api/v4/projects/59893/issues/531/discussions?page=1&per_page=50")).thenAnswer((_) => Future(() => Response.of<List<dynamic>>([])));
when(client.post('/api/graphql', { when(client.post('/api/graphql', {
"variables": {"fullPath": 'ultimate-plan/jihu-gitlab-app/jihu-gitlab-app', "iid": "531"}, "variables": {"fullPath": 'ultimate-plan/jihu-gitlab-app/jihu-gitlab-app', "iid": "531"},
"query": """ "query": """
query (\$fullPath: ID!, \$iid: String!) { query (\$fullPath: ID!, \$iid: String!) {
project(fullPath: \$fullPath) { project(fullPath: \$fullPath) {
id id
nameWithNamespace fullPath
issue(iid: \$iid) { issue(iid: \$iid) {
id id
iid iid
...@@ -88,8 +92,8 @@ void main() { ...@@ -88,8 +92,8 @@ void main() {
"data": { "data": {
"project": { "project": {
"id": "gid://gitlab/Project/59893", "id": "gid://gitlab/Project/59893",
"nameWithNamespace": "旗舰版演示 / 极狐 GitLab App 产品线 / 极狐 GitLab APP 代码", "fullPath": "ultimate-plan/jihu-gitlab-app/demo-mr-test",
"issue": {"id": "gid://gitlab/Issue/299306", "iid": "350"} "issue": {"id": "gid://gitlab/Issue/299306", "iid": "531"}
} }
} }
}))); })));
...@@ -102,7 +106,7 @@ void main() { ...@@ -102,7 +106,7 @@ void main() {
ChangeNotifierProvider(create: (context) => ConnectionProvider()), ChangeNotifierProvider(create: (context) => ConnectionProvider()),
], ],
child: MaterialApp( child: MaterialApp(
routes: {IssueDetailsPage.routeName: (context) => IssueDetailsPage(arguments: params)}, onGenerateRoute: onGenerateRoute,
home: Scaffold( home: Scaffold(
body: PasteTypeUrlNavigation( body: PasteTypeUrlNavigation(
child: SvgPicture.asset( child: SvgPicture.asset(
...@@ -121,6 +125,11 @@ void main() { ...@@ -121,6 +125,11 @@ void main() {
await tester.pump(const Duration(seconds: 1)); await tester.pump(const Duration(seconds: 1));
} }
expect(find.byType(IssueDetailsPage), findsOneWidget); expect(find.byType(IssueDetailsPage), findsOneWidget);
expect(find.text('回复评论'), findsOneWidget);
expect(find.text('issue description for test'), findsOneWidget);
expect(SvgFinder("assets/images/comment.svg"), findsOneWidget);
expect(SvgFinder("assets/images/share.svg"), findsOneWidget);
expect(SvgFinder("assets/images/operate.svg"), findsOneWidget);
ConnectionProvider().fullReset(); ConnectionProvider().fullReset();
locator.unregister<IssueDetailsModel>(); locator.unregister<IssueDetailsModel>();
}); });
......
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册