@@ -493,11 +493,37 @@ def registration_metadata_page(self, driver):
493
493
registration_metadata_page .goto ()
494
494
return registration_metadata_page
495
495
496
- def test_edit_metadata_description (self , driver , registration_metadata_page , fake ):
497
- """This test verifies that the registration metadata field
498
- description is editable and changes are saved."""
496
+ @pytest .fixture ()
497
+ def registration_guid (self ):
498
+ registration_guid = osf_api .get_registration_by_title (
499
+ 'Selenium Registration for Metadata tests'
500
+ )
501
+ return registration_guid
502
+
503
+ def test_edit_metadata_title_and_description (
504
+ self , driver , registration_metadata_page , fake , registration_guid
505
+ ):
506
+ """This test verifies that the registration metadata title
507
+ and description fields are editable and changes are saved."""
499
508
509
+ new_title = fake .sentence (nb_words = 2 )
500
510
new_description = fake .sentence (nb_words = 4 )
511
+ original_title = 'Selenium Registration for Metadata tests'
512
+
513
+ WebDriverWait (driver , 5 ).until (
514
+ EC .element_to_be_clickable (
515
+ (By .CSS_SELECTOR , '[data-test-edit-node-title-button]' )
516
+ )
517
+ ).click ()
518
+ title_input = driver .find_element_by_css_selector (
519
+ '[data-test-title-field] textarea'
520
+ )
521
+ title_input .clear ()
522
+ title_input .send_keys (new_title )
523
+ registration_metadata_page .save_metadata_title_button .click ()
524
+ assert new_title == utils .clean_text (
525
+ registration_metadata_page .metadata_title .text
526
+ )
501
527
502
528
WebDriverWait (driver , 5 ).until (
503
529
EC .element_to_be_clickable (
@@ -511,7 +537,64 @@ def test_edit_metadata_description(self, driver, registration_metadata_page, fak
511
537
description_input .clear ()
512
538
description_input .send_keys (new_description )
513
539
registration_metadata_page .save_metadata_description_button .click ()
514
- assert new_description == registration_metadata_page .metadata_description .text
540
+ assert new_description == utils .clean_text (
541
+ registration_metadata_page .metadata_description .text
542
+ )
543
+ osf_api .update_registration_title (
544
+ registration_guid = registration_guid , title = original_title
545
+ )
546
+
547
+ def test_edit_contributors (
548
+ self , session , driver , registration_metadata_page , registration_guid
549
+ ):
550
+ """This test verifies that user can add/remove
551
+ contributors to registration metadata."""
552
+
553
+ if settings .DOMAIN == 'test' :
554
+ new_user = 'Selenium Test User (Do Not Use)'
555
+ elif settings .DOMAIN == 'prod' :
556
+ new_user = 'OSF Tester1'
557
+ else :
558
+ new_user = 'Selenium Staging'
559
+
560
+ # Delete the user if its already exists
561
+ osf_api .delete_registration_contributor (
562
+ registration_guid = registration_guid , user_name = new_user
563
+ )
564
+ registration_metadata_page .goto_with_reload ()
565
+
566
+ WebDriverWait (driver , 5 ).until (
567
+ EC .element_to_be_clickable (
568
+ (By .CSS_SELECTOR , '[data-test-edit-node-contributors-button]' )
569
+ )
570
+ ).click ()
571
+
572
+ registration_metadata_page .search_input .click ()
573
+ registration_metadata_page .search_input .send_keys (new_user )
574
+ registration_metadata_page .contributor_search_button .click ()
575
+
576
+ # Get the row number for the user from the search table
577
+ WebDriverWait (driver , 5 ).until (
578
+ EC .visibility_of_element_located (
579
+ (
580
+ By .CSS_SELECTOR ,
581
+ '[data-test-user-card]' ,
582
+ )
583
+ )
584
+ )
585
+
586
+ registration_metadata_page .select_from_table_of_rows (new_user )
587
+ registration_metadata_page .search_cancel_button .click ()
588
+ registration_metadata_page .add_contributor_finish_button .click ()
589
+
590
+ WebDriverWait (driver , 5 ).until (
591
+ EC .visibility_of_element_located (
592
+ (By .CSS_SELECTOR , '[data-test-contributors-list]' )
593
+ )
594
+ )
595
+
596
+ user = registration_metadata_page .select_from_list (new_user )
597
+ assert new_user in user .text .strip ()
515
598
516
599
def test_edit_resource_information (self , driver , registration_metadata_page ):
517
600
"""This test verifies that user can add/remove
0 commit comments