@@ -47,12 +47,10 @@ context('Control Link', () => {
4747 get_dialog_with_link ( ) . as ( 'dialog' ) ;
4848
4949 cy . server ( ) ;
50- cy . route ( 'GET' , '/api/method/frappe.desk.form.utils.validate_link*' ) . as ( 'validate_link' ) ;
5150
5251 cy . get ( '.frappe-control[data-fieldname=link] input' )
5352 . type ( 'invalid value' , { delay : 100 } )
5453 . blur ( ) ;
55- cy . wait ( '@validate_link' ) ;
5654 cy . get ( '.frappe-control[data-fieldname=link] input' ) . should ( 'have.value' , '' ) ;
5755 } ) ;
5856
@@ -64,10 +62,11 @@ context('Control Link', () => {
6462 cy . route ( 'POST' , '/api/method/frappe.desk.search.search_link' ) . as ( 'search_link' ) ;
6563
6664 cy . get ( '@todos' ) . then ( todos => {
67- cy . get ( '.frappe-control[data-fieldname=link] input' ) . as ( 'input' ) ;
68- cy . get ( '@input' ) . focus ( ) ;
65+ cy . get ( '.frappe-control[data-fieldname=link] input' ) . focus ( ) . as ( 'input' ) ;
6966 cy . wait ( '@search_link' ) ;
70- cy . get ( '@input' ) . type ( todos [ 0 ] ) . blur ( ) ;
67+ cy . get ( '@input' ) . type ( todos [ 0 ] ) ;
68+ cy . get ( '.frappe-control[data-fieldname=link] ul' ) . should ( 'be.visible' ) ;
69+ cy . get ( '.frappe-control[data-fieldname=link] input' ) . type ( '{enter}' , { delay : 100 } ) ;
7170 cy . wait ( '@validate_link' ) ;
7271 cy . get ( '@input' ) . focus ( ) ;
7372 cy . get ( '.frappe-control[data-fieldname=link] .link-btn' )
@@ -76,4 +75,35 @@ context('Control Link', () => {
7675 cy . location ( 'hash' ) . should ( 'eq' , `#Form/ToDo/${ todos [ 0 ] } ` ) ;
7776 } ) ;
7877 } ) ;
78+
79+ it ( 'show title field in link' , ( ) => {
80+ get_dialog_with_link ( ) . as ( 'dialog' ) ;
81+
82+ cy . server ( ) ;
83+ cy . insert_doc ( "Property Setter" , {
84+ property : "show_title_field_in_link" ,
85+ doc_type : "ToDo" ,
86+ value : 1 ,
87+ doctype_or_field : "DocType"
88+ } , true ) ;
89+ cy . route ( 'POST' , '/api/method/frappe.desk.search.search_link' ) . as ( 'search_link' ) ;
90+
91+ cy . get ( '.frappe-control[data-fieldname=link] input' ) . focus ( ) . as ( 'input' ) ;
92+ cy . wait ( '@search_link' ) ;
93+ cy . get ( '@input' ) . type ( 'todo for link' ) ;
94+ cy . wait ( '@search_link' ) ;
95+ cy . get ( '.frappe-control[data-fieldname=link] ul' ) . should ( 'be.visible' ) ;
96+ cy . get ( '.frappe-control[data-fieldname=link] input' ) . type ( '{enter}' , { delay : 100 } ) ;
97+ cy . get ( '.frappe-control[data-fieldname=link] input' ) . blur ( ) ;
98+ cy . get ( '@dialog' ) . then ( dialog => {
99+ cy . get ( '@todos' ) . then ( todos => {
100+ let field = dialog . get_field ( 'link' ) ;
101+ let value = field . get_value ( ) ;
102+ let label = field . get_label_value ( ) ;
103+
104+ expect ( value ) . to . eq ( todos [ 0 ] ) ;
105+ expect ( label ) . to . eq ( 'this is a test todo for link' ) ;
106+ } ) ;
107+ } ) ;
108+ } ) ;
79109} ) ;
0 commit comments