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