diff --git a/app/src/main/ui/src/components/usersImport/UsersImportErrorTable.tsx b/app/src/main/ui/src/components/usersImport/UsersImportErrorTable.tsx index f4a1efac..5af313af 100644 --- a/app/src/main/ui/src/components/usersImport/UsersImportErrorTable.tsx +++ b/app/src/main/ui/src/components/usersImport/UsersImportErrorTable.tsx @@ -32,7 +32,7 @@ export default function UsersImportErrorTable({content, ...props}: UsersImportEr {content[i].lineNumber} - + {prepareMessage(content[i])} diff --git a/integrationTests/cypress/e2e/import_PWDReset_false.feature b/integrationTests/cypress/e2e/import_PWDReset_false.feature index b7a8a8c5..aa9239a7 100644 --- a/integrationTests/cypress/e2e/import_PWDReset_false.feature +++ b/integrationTests/cypress/e2e/import_PWDReset_false.feature @@ -13,39 +13,79 @@ Feature: Tests for uploading file with user that has password reset disabled @clean_before @clear_downloadDir @clear_mails + @clean_user_import Scenario: a user uploads a file When the user opens the user import page And the user uploads the file "tap_userimport_pwd_f.csv" Then the user import page shows an import with the message "Import successfully completed!" and the details "Created accounts (1)" + @clean_before + @clear_downloadDir + @clear_mails + @clean_user_import Scenario: after uploading a file a user inspects the user import details page - When the user opens the user import details page + When the user opens the user import page + And the user uploads the file "tap_userimport_pwd_f.csv" + And the user opens the user import details page And the user clicks on the details regarding the "created" user import Then the table shows the information about the "created" user "testUser" + @clean_before + @clear_downloadDir + @clear_mails + @clean_user_import Scenario: after uploading a file a user downloads the import overview - When the user opens the user import details page + When the user opens the user import page + And the user uploads the file "tap_userimport_pwd_f.csv" + And the user opens the user import details page And the user downloads the import overview Then the import result is downloaded and contains information regarding "1" created, "0" updated and "0" skipped accounts in the file "tap_userimport_pwd_f.csv" + @clean_before + @clear_downloadDir + @clear_mails + @clean_user_import Scenario: after uploading a file a user inspects the users page - When the user opens the users page + When the user opens the user import page + And the user uploads the file "tap_userimport_pwd_f.csv" + And the user opens the users page Then the new user "testUser" was added + @clean_before + @clear_downloadDir + @clear_mails + @clean_user_import Scenario: after uploading a file an imported user can be edited - When the user opens the users page + When the user opens the user import page + And the user uploads the file "tap_userimport_pwd_f.csv" + And the user opens the users page And the user clicks on the edit-user button for the user "testUser" Then the password reset flag is checked + @clean_before + @clear_downloadDir + @clear_mails + @clean_user_import Scenario: after uploading a file a user inspects the user import summaries page - When the user opens the user import summaries page + When the user opens the user import page + And the user uploads the file "tap_userimport_pwd_f.csv" + And the user opens the user import summaries page Then a table with the import information "New: 1, Updated: 0, Skipped: 0" regarding the file "tap_userimport_pwd_f.csv" is shown - @clean_user_import + @clean_before + @clear_downloadDir + @clear_mails Scenario: after the user import the newly created user receives an email + When the user opens the user import page + And the user uploads the file "tap_userimport_pwd_f.csv" Then the user "testUser" receives an email with his user details + @clean_before + @clear_downloadDir + @clear_mails Scenario: a newly created user tries to log in for the first time - When the user logs out by visiting the cas logout page - And the user "testUser" tries to log in with his generated password - Then the user is asked to change his password + When the user opens the user import page + And the user uploads the file "tap_userimport_pwd_f.csv" + And the user logs out by visiting the cas logout page + And the user "testUser" tries to log in with his generated password + Then the user is asked to change his password diff --git a/integrationTests/cypress/e2e/import_PWDReset_true.feature b/integrationTests/cypress/e2e/import_PWDReset_true.feature index ad68f994..2ec32cb5 100644 --- a/integrationTests/cypress/e2e/import_PWDReset_true.feature +++ b/integrationTests/cypress/e2e/import_PWDReset_true.feature @@ -13,45 +13,92 @@ Feature: Tests for uploading file with user that has password reset enabled @clean_before @clear_downloadDir @clear_mails + @clean_user_import Scenario: a user uploads a file When the user opens the user import page And the user uploads the file "tap_userimport_pwd_t.csv" Then the user import page shows an import with the message "Import successfully completed!" and the details "Created accounts (1)" + @clean_before + @clear_downloadDir + @clear_mails + @clean_user_import Scenario: after uploading a file a user inspects the user import details page - When the user opens the user import details page + When the user opens the user import page + And the user uploads the file "tap_userimport_pwd_t.csv" + And the user opens the user import details page And the user clicks on the details regarding the "created" user import Then the table shows the information about the "created" user "testUser" + @clean_before + @clear_downloadDir + @clear_mails + @clean_user_import Scenario: after uploading a file a user downloads the import overview - When the user opens the user import details page + When the user opens the user import page + And the user uploads the file "tap_userimport_pwd_t.csv" + And the user opens the user import details page And the user downloads the import overview Then the import result is downloaded and contains information regarding "1" created, "0" updated and "0" skipped accounts in the file "tap_userimport_pwd_t.csv" + @clean_before + @clear_downloadDir + @clear_mails + @clean_user_import Scenario: after uploading a file a user inspects the users page - When the user opens the users page + When the user opens the user import page + And the user uploads the file "tap_userimport_pwd_t.csv" + And the user opens the users page Then the new user "testUser" was added + @clean_before + @clear_downloadDir + @clear_mails + @clean_user_import Scenario: after uploading a file an imported user can be edited - When the user opens the users page + When the user opens the user import page + And the user uploads the file "tap_userimport_pwd_t.csv" + And the user opens the users page And the user clicks on the edit-user button for the user "testUser" Then the password reset flag is checked + @clean_before + @clear_downloadDir + @clear_mails + @clean_user_import Scenario: after uploading a file a user inspects the user import summaries page - When the user opens the user import summaries page + When the user opens the user import page + And the user uploads the file "tap_userimport_pwd_t.csv" + And the user opens the user import summaries page Then a table with the import information "New: 1, Updated: 0, Skipped: 0" regarding the file "tap_userimport_pwd_t.csv" is shown + @clean_before + @clear_downloadDir + @clear_mails @clean_user_import Scenario: after the user import the newly created user receives an email + When the user opens the user import page + And the user uploads the file "tap_userimport_pwd_t.csv" Then the user "testUser" receives an email with his user details + @clean_before + @clear_downloadDir + @clear_mails Scenario: a newly created user tries to log in for the first time - When the user logs out by visiting the cas logout page + When the user opens the user import page + And the user uploads the file "tap_userimport_pwd_t.csv" + And the user logs out by visiting the cas logout page And the user "testUser" tries to log in with his generated password Then the user is asked to change his password + @clean_before + @clear_downloadDir + @clear_mails Scenario: a newly created user logs in for the first time - When the user "testUser" tries to log in with his generated password + When the user opens the user import page + And the user uploads the file "tap_userimport_pwd_t.csv" + And the user logs out by visiting the cas logout page + And the user "testUser" tries to log in with his generated password And the user sets the new password to "testuserpassword1234A$" And the user "testUser" with password "testuserpassword1234A$" logs in Then the account page for user "testUser" is shown diff --git a/integrationTests/cypress/e2e/import_delete.feature b/integrationTests/cypress/e2e/import_delete.feature index 73ba3c42..c1a3f3e1 100644 --- a/integrationTests/cypress/e2e/import_delete.feature +++ b/integrationTests/cypress/e2e/import_delete.feature @@ -19,22 +19,44 @@ Feature: Tests for deleting an user import after its upload | Import completed with errors! | Updated accounts (1) | | Import completed with errors! | Skipped data rows (1) | + @clean_before + @clear_downloadDir + @add_user Scenario: after uploading a file a user inspects the user import summaries page - When the user opens the user import summaries page + When the user opens the user import page + And the user uploads the file "userimport6.csv" + And the user opens the user import summaries page Then a table with the import information "New: 2, Updated: 1, Skipped: 1" regarding the file "userimport6.csv" is shown + @clean_before + @clear_downloadDir + @add_user Scenario: after uploading a file a user can delete, download or show details of the import entry at the import summaries page - When the user opens the user import summaries page + When the user opens the user import page + And the user uploads the file "userimport6.csv" + And the user opens the user import summaries page And the user opens the menu in the functions column Then the import summaries page offers the possibility to delete, download or show details of the import entry + @clean_before + @clear_downloadDir + @add_user Scenario: a user deletes the user import - When the user opens the user import summaries page + When the user opens the user import page + And the user uploads the file "userimport6.csv" + And the user opens the user import summaries page And deletes the entry for the user import Then the entry is removed and a message regarding the successful deletion of the entry is shown + @clean_before + @clear_downloadDir + @add_user Scenario Outline: after deleting the user import a user inspects the users page regarding the added users - When the user opens the users page + When the user opens the user import page + And the user uploads the file "userimport6.csv" + And the user opens the user import summaries page + And deletes the entry for the user import + And the user opens the users page Then the new user "" was added Examples: @@ -42,6 +64,13 @@ Feature: Tests for deleting an user import after its upload | maxtest | | mariatest | + @clean_before + @clear_downloadDir + @add_user Scenario: after deleting the user import a user inspects the users page regarding the updated users - When the user opens the users page + When the user opens the user import page + And the user uploads the file "userimport6.csv" + And the user opens the user import summaries page + And deletes the entry for the user import + And the user opens the users page Then the user "mmustermann" has his mail updated to "mark@test.de" and his display name to "Mark Test" diff --git a/integrationTests/cypress/e2e/import_details.feature b/integrationTests/cypress/e2e/import_details.feature index ee92f68d..ff024e1c 100644 --- a/integrationTests/cypress/e2e/import_details.feature +++ b/integrationTests/cypress/e2e/import_details.feature @@ -19,17 +19,32 @@ Feature: Tests for inspecting the result details of an user import | Import completed with errors! | Updated accounts (1) | | Import completed with errors! | Skipped data rows (1) | + @clean_before + @clear_downloadDir + @clean_user_import Scenario: after uploading a file a user inspects the user import summaries page - When the user opens the user import summaries page + When the user opens the user import page + And the user uploads the file "userimport6.csv" + And the user opens the user import summaries page Then a table with the import information "New: 2, Updated: 1, Skipped: 1" regarding the file "userimport6.csv" is shown + @clean_before + @clear_downloadDir + @clean_user_import Scenario: after uploading a file a user can delete, download or show details of the import entry at the import summaries page - When the user opens the user import summaries page + When the user opens the user import page + And the user uploads the file "userimport6.csv" + And the user opens the user import summaries page And the user opens the menu in the functions column Then the import summaries page offers the possibility to delete, download or show details of the import entry + @clean_before + @clear_downloadDir + @clean_user_import Scenario Outline: after uploading a file a user inspects the user import details page about the created accounts - When the user opens the user import details page + When the user opens the user import page + And the user uploads the file "userimport6.csv" + And the user opens the user import details page And the user clicks on the details regarding the "created" user import Then the table shows the information about the "created" user "" @@ -38,13 +53,23 @@ Feature: Tests for inspecting the result details of an user import | maxtest | | mariatest | + @clean_before + @clear_downloadDir + @clean_user_import + @add_user Scenario: after uploading a file a user inspects the user import details page about the updated accounts - When the user opens the user import details page + When the user opens the user import page + And the user uploads the file "userimport6.csv" + And the user opens the user import details page And the user clicks on the details regarding the "updated" user import Then the table shows the information about the "updated" user "mmustermann" + @clean_before + @clear_downloadDir @clean_user_import Scenario: after uploading a file a user inspects the user import details page about the skipped accounts - When the user opens the user import details page + When the user opens the user import page + And the user uploads the file "userimport6.csv" + And the user opens the user import details page And the user clicks on the details regarding the "skipped" user import Then the table shows the error message "The following columns contained a value that is marked as unique and was already assigned: 'mail'." diff --git a/integrationTests/cypress/e2e/import_download.feature b/integrationTests/cypress/e2e/import_download.feature index dd3cd254..640a692f 100644 --- a/integrationTests/cypress/e2e/import_download.feature +++ b/integrationTests/cypress/e2e/import_download.feature @@ -8,6 +8,7 @@ Feature: Tests for download user import result @clean_before @clear_downloadDir @add_user + @clean_user_import Scenario Outline: a user uploads a file When the user opens the user import page And the user uploads the file "userimport6.csv" @@ -19,12 +20,23 @@ Feature: Tests for download user import result | Import completed with errors! | Updated accounts (1) | | Import completed with errors! | Skipped data rows (1) | + @clean_before + @clear_downloadDir + @add_user + @clean_user_import Scenario: after uploading a file a user inspects the user import summaries page - When the user opens the user import summaries page + When the user opens the user import page + And the user uploads the file "userimport6.csv" + And the user opens the user import summaries page Then a table with the import information "New: 2, Updated: 1, Skipped: 1" regarding the file "userimport6.csv" is shown + @clean_before + @clear_downloadDir + @add_user @clean_user_import Scenario: after uploading a file a user downloads the import overview - When the user opens the user import details page + When the user opens the user import page + And the user uploads the file "userimport6.csv" + And the user opens the user import details page And the user downloads the import overview Then the import result is downloaded and contains information regarding "2" created, "1" updated and "1" skipped accounts in the file "userimport6.csv" diff --git a/integrationTests/cypress/e2e/import_empty_parameters.feature b/integrationTests/cypress/e2e/import_empty_parameters.feature index f5fbefd5..d3f856ff 100644 --- a/integrationTests/cypress/e2e/import_empty_parameters.feature +++ b/integrationTests/cypress/e2e/import_empty_parameters.feature @@ -12,13 +12,19 @@ Feature: Tests for inspecting the result details of an user import @clean_before @clear_downloadDir + @clean_user_import Scenario: a user uploads a file When the user opens the user import page And the user uploads the file "userimport_keineParameter.csv" Then the user import page shows an import with the message "Import failed!" and the details "Skipped data rows (7)" + @clean_before + @clear_downloadDir + @clean_user_import Scenario: after uploading a file a user inspects the user import details page about the skipped accounts - When the user opens the user import details page + When the user opens the user import page + And the user uploads the file "userimport_keineParameter.csv" + And the user opens the user import details page And the user clicks on the details regarding the "skipped" user import Then the table shows the error message "" @@ -32,11 +38,20 @@ Feature: Tests for inspecting the result details of an user import | The following columns are required but were empty: 'username'. | | The following columns are required but were empty: 'givenname'. | + @clean_before + @clear_downloadDir + @clean_user_import Scenario: after uploading a file a user inspects the users page - When the user opens the users page + When the user opens the user import page + And the user uploads the file "userimport_keineParameter.csv" + And the user opens the users page Then the new user " " was not added + @clean_before + @clear_downloadDir @clean_user_import Scenario: after uploading a file a user inspects the user import summaries page - When the user opens the user import summaries page + When the user opens the user import page + And the user uploads the file "userimport_keineParameter.csv" + And the user opens the user import summaries page Then a table with the import information "New: 0, Updated: 0, Skipped: 1" regarding the file "userimport_keineParameter.csv" is shown diff --git a/integrationTests/cypress/e2e/import_long_name.feature b/integrationTests/cypress/e2e/import_long_name.feature index 0c9d74ae..cbafc17d 100644 --- a/integrationTests/cypress/e2e/import_long_name.feature +++ b/integrationTests/cypress/e2e/import_long_name.feature @@ -10,27 +10,43 @@ Feature: Tests for uploading file with user name that is too long (> 128 charact And the user selects the file "userimport_mehr128_Zeichen.csv" Then a table of the file content for the file "userimport_mehr128_Zeichen.csv" is displayed + @clean_user_import @clear_downloadDir Scenario: a user uploads a file When the user opens the user import page And the user uploads the file "userimport_mehr128_Zeichen.csv" Then the user import page shows an import with the message "Import failed!" and the details "Skipped data rows (1)" + @clean_user_import + @clear_downloadDir Scenario: after uploading a file a user inspects the user import details page about the skipped accounts - When the user opens the user import details page + When the user opens the user import page + And the user uploads the file "userimport_mehr128_Zeichen.csv" + And the user opens the user import details page And the user clicks on the details regarding the "skipped" user import - Then the table shows the error message "The following columns do not match the default format 'username'." + Then the table shows the error message "The following columns do not match the default format: 'username'." + @clean_user_import + @clear_downloadDir Scenario: after uploading a file a user downloads the import overview - When the user opens the user import details page + When the user opens the user import page + And the user uploads the file "userimport_mehr128_Zeichen.csv" + And the user opens the user import details page And the user downloads the import overview Then the import result is downloaded and contains information regarding "0" created, "0" updated and "1" skipped accounts in the file "userimport_mehr128_Zeichen.csv" + @clean_user_import + @clear_downloadDir Scenario: after uploading a file a user inspects the users page - When the user opens the users page + When the user opens the user import page + And the user uploads the file "userimport_mehr128_Zeichen.csv" + And the user opens the users page Then the new user "jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj" was not added @clean_user_import + @clear_downloadDir Scenario: after uploading a file a user inspects the user import summaries page - When the user opens the user import summaries page + When the user opens the user import page + And the user uploads the file "userimport_mehr128_Zeichen.csv" + And the user opens the user import summaries page Then a table with the import information "New: 0, Updated: 0, Skipped: 1" regarding the file "userimport_mehr128_Zeichen.csv" is shown diff --git a/integrationTests/cypress/e2e/import_name_with_special_character.feature b/integrationTests/cypress/e2e/import_name_with_special_character.feature index a939f93c..6ca83284 100644 --- a/integrationTests/cypress/e2e/import_name_with_special_character.feature +++ b/integrationTests/cypress/e2e/import_name_with_special_character.feature @@ -11,26 +11,42 @@ Feature: Tests for uploading file with user name that contains a special charact Then a table of the file content for the file "userimport_Sonderzeichen.csv" is displayed @clear_downloadDir + @clean_user_import Scenario: a user uploads a file When the user opens the user import page And the user uploads the file "userimport_Sonderzeichen.csv" Then the user import page shows an import with the message "Import failed!" and the details "Skipped data rows (1)" + @clean_user_import + @clear_downloadDir Scenario: after uploading a file a user inspects the user import details page - When the user opens the user import details page + When the user opens the user import page + And the user uploads the file "userimport_Sonderzeichen.csv" + And the user opens the user import details page And the user clicks on the details regarding the "skipped" user import - Then the table shows the error message "The following columns do not match the default format 'username'." + Then the table shows the error message "The following columns do not match the default format: 'username'." + @clean_user_import + @clear_downloadDir Scenario: after uploading a file a user downloads the import overview - When the user opens the user import details page + When the user opens the user import page + And the user uploads the file "userimport_Sonderzeichen.csv" + And the user opens the user import details page And the user downloads the import overview Then the import result is downloaded and contains information regarding "0" created, "0" updated and "1" skipped accounts in the file "userimport_Sonderzeichen.csv" + @clean_user_import + @clear_downloadDir Scenario: after uploading a file a user inspects the users page - When the user opens the users page + When the user opens the user import page + And the user uploads the file "userimport_Sonderzeichen.csv" + And the user opens the users page Then the new user "mm!uster" was not added + @clear_downloadDir @clean_user_import Scenario: after uploading a file a user inspects the user import summaries page - When the user opens the user import summaries page + When the user opens the user import page + And the user uploads the file "userimport_Sonderzeichen.csv" + And the user opens the user import summaries page Then a table with the import information "New: 0, Updated: 0, Skipped: 1" regarding the file "userimport_Sonderzeichen.csv" is shown diff --git a/integrationTests/cypress/e2e/import_same_mailAddress.feature b/integrationTests/cypress/e2e/import_same_mailAddress.feature index edcbcfee..e5c7538e 100644 --- a/integrationTests/cypress/e2e/import_same_mailAddress.feature +++ b/integrationTests/cypress/e2e/import_same_mailAddress.feature @@ -13,6 +13,7 @@ Feature: Tests for uploading file with users with same mail address @clean_before @clear_downloadDir @clear_mails + @clean_user_import Scenario Outline: a user uploads a file When the user opens the user import page And the user uploads the file "tap_userimport_mailpara.csv" @@ -23,8 +24,14 @@ Feature: Tests for uploading file with users with same mail address | Import completed with errors! | Created accounts (4) | | Import completed with errors! | Skipped data rows (1) | + @clean_before + @clear_downloadDir + @clear_mails + @clean_user_import Scenario Outline: after uploading a file a user inspects the user import details page about the created accounts - When the user opens the user import details page + When the user opens the user import page + And the user uploads the file "tap_userimport_mailpara.csv" + And the user opens the user import details page And the user clicks on the details regarding the "created" user import Then the table shows the information about the "created" user "" @@ -35,18 +42,36 @@ Feature: Tests for uploading file with users with same mail address | Neutest | | Haustest | + @clean_before + @clear_downloadDir + @clear_mails + @clean_user_import Scenario: after uploading a file a user inspects the user import details page about the skipped accounts - When the user opens the user import details page + When the user opens the user import page + And the user uploads the file "tap_userimport_mailpara.csv" + And the user opens the user import details page And the user clicks on the details regarding the "skipped" user import Then the table shows the error message "The following columns contained a value that is marked as unique and was already assigned: 'mail'." + @clean_before + @clear_downloadDir + @clear_mails + @clean_user_import Scenario: after uploading a file a user downloads the import overview - When the user opens the user import details page + When the user opens the user import page + And the user uploads the file "tap_userimport_mailpara.csv" + And the user opens the user import details page And the user downloads the import overview Then the import result is downloaded and contains information regarding "4" created, "0" updated and "1" skipped accounts in the file "tap_userimport_mailpara.csv" + @clean_before + @clear_downloadDir + @clear_mails + @clean_user_import Scenario Outline: after uploading a file a user inspects the users page - When the user opens the users page + When the user opens the user import page + And the user uploads the file "tap_userimport_mailpara.csv" + And the user opens the users page Then the new user "" was added Examples: @@ -56,15 +81,31 @@ Feature: Tests for uploading file with users with same mail address | Neutest | | Haustest | + @clean_before + @clear_downloadDir + @clear_mails + @clean_user_import Scenario: after uploading a file a user inspects the user import summaries page - When the user opens the user import summaries page + When the user opens the user import page + And the user uploads the file "tap_userimport_mailpara.csv" + And the user opens the user import summaries page Then a table with the import information "New: 4, Updated: 0, Skipped: 1" regarding the file "tap_userimport_mailpara.csv" is shown + @clean_before + @clear_downloadDir + @clear_mails @clean_user_import Scenario: after the user import the newly created user receives an email + When the user opens the user import page + And the user uploads the file "tap_userimport_mailpara.csv" Then the user "Testertest" receives an email with his user details + @clean_before + @clear_downloadDir + @clear_mails Scenario: a newly created user tries to log in for the first time - When the user logs out by visiting the cas logout page + When the user opens the user import page + And the user uploads the file "tap_userimport_mailpara.csv" + And the user logs out by visiting the cas logout page And the user "Testertest" tries to log in with his generated password Then the user is asked to change his password diff --git a/integrationTests/cypress/e2e/import_short_name.feature b/integrationTests/cypress/e2e/import_short_name.feature index a51c413c..b55597e4 100644 --- a/integrationTests/cypress/e2e/import_short_name.feature +++ b/integrationTests/cypress/e2e/import_short_name.feature @@ -11,26 +11,42 @@ Feature: Tests for uploading file with user name that is too short (1 character) Then a table of the file content for the file "userimport_ein_Zeichen.csv" is displayed @clear_downloadDir + @clean_user_import Scenario: a user uploads a file When the user opens the user import page And the user uploads the file "userimport_ein_Zeichen.csv" Then the user import page shows an import with the message "Import failed!" and the details "Skipped data rows (1)" + @clear_downloadDir + @clean_user_import Scenario: after uploading a file a user inspects the user import details page about the skipped accounts - When the user opens the user import details page + When the user opens the user import page + And the user uploads the file "userimport_ein_Zeichen.csv" + And the user opens the user import details page And the user clicks on the details regarding the "skipped" user import - Then the table shows the error message "The following columns do not match the default format 'username'." + Then the table shows the error message "The following columns do not match the default format: 'username'." + @clear_downloadDir + @clean_user_import Scenario: after uploading a file a user downloads the import overview - When the user opens the user import details page + When the user opens the user import page + And the user uploads the file "userimport_ein_Zeichen.csv" + And the user opens the user import details page And the user downloads the import overview Then the import result is downloaded and contains information regarding "0" created, "0" updated and "1" skipped accounts in the file "userimport_ein_Zeichen.csv" + @clear_downloadDir + @clean_user_import Scenario: after uploading a file a user inspects the users page - When the user opens the users page + When the user opens the user import page + And the user uploads the file "userimport_ein_Zeichen.csv" + And the user opens the users page Then the new user "m" was not added + @clear_downloadDir @clean_user_import Scenario: after uploading a file a user inspects the user import summaries page - When the user opens the user import summaries page + When the user opens the user import page + And the user uploads the file "userimport_ein_Zeichen.csv" + And the user opens the user import summaries page Then a table with the import information "New: 0, Updated: 0, Skipped: 1" regarding the file "userimport_ein_Zeichen.csv" is shown diff --git a/integrationTests/cypress/e2e/import_update_PWDReset_false.feature b/integrationTests/cypress/e2e/import_update_PWDReset_false.feature index be8cdac1..6a958f19 100644 --- a/integrationTests/cypress/e2e/import_update_PWDReset_false.feature +++ b/integrationTests/cypress/e2e/import_update_PWDReset_false.feature @@ -8,42 +8,92 @@ Feature: Tests for updating user that has password reset disabled @clean_before @clear_downloadDir @clear_mails + @clean_user_import Scenario: a user uploads a file When the user opens the user import page And the user uploads the file "tap_userimport_akt_f.csv" Then the user import page shows an import with the message "Import successfully completed!" and the details "Created accounts (1)" + @clean_before + @clear_downloadDir + @clear_mails Scenario: a newly created user logs in for the first time - When the user "Testertest" tries to log in with his generated password - And the user sets the new password to "testuserpassword1234A$" + When the user opens the user import page + And the user uploads the file "tap_userimport_akt_f.csv" + And the user opens the user import page + And the user uploads the file "tap_userimport_akt2_f.csv" + And the user logs out by visiting the cas logout page + And the user "Testertest" tries to log in with his generated password + And the user configures the new password to "testuserpassword1234A$" And the user "Testertest" with password "testuserpassword1234A$" logs in Then the account page for user "Testertest" is shown + @clean_before + @clear_downloadDir + @clear_mails + @clean_user_import Scenario: a user selects an updated file for upload When the user opens the user import page And the user selects the file "tap_userimport_akt2_f.csv" Then a table of the file content for the file "tap_userimport_akt2_f.csv" is displayed + @clean_before + @clear_downloadDir + @clear_mails + @clean_user_import Scenario: a user uploads an updated file When the user opens the user import page + And the user uploads the file "tap_userimport_akt_f.csv" + And the user opens the user import page And the user uploads the file "tap_userimport_akt2_f.csv" Then the user import page shows an import with the message "Import successfully completed!" and the details "Updated accounts (1)" + @clean_before + @clear_downloadDir + @clear_mails + @clean_user_import Scenario: after uploading a file a user downloads the import overview - When the user opens the user import details page + When the user opens the user import page + And the user uploads the file "tap_userimport_akt_f.csv" + And the user opens the user import page + And the user uploads the file "tap_userimport_akt2_f.csv" + And the user opens the user import details page And the user downloads the import overview Then the import result is downloaded and contains information regarding "0" created, "1" updated and "0" skipped accounts in the file "tap_userimport_akt2_f.csv" + @clean_before + @clear_downloadDir + @clear_mails + @clean_user_import Scenario: after uploading a file a user inspects the users page - When the user opens the users page + When the user opens the user import page + And the user uploads the file "tap_userimport_akt_f.csv" + And the user opens the user import page + And the user uploads the file "tap_userimport_akt2_f.csv" + And the user opens the users page Then the new user "Testertest" was added + @clean_before + @clear_downloadDir + @clear_mails + @clean_user_import Scenario: after uploading a file an imported user can be edited - When the user opens the users page + When the user opens the user import page + And the user uploads the file "tap_userimport_akt_f.csv" + And the user opens the user import page + And the user uploads the file "tap_userimport_akt2_f.csv" + And the user opens the users page And the user clicks on the edit-user button for the user "Testertest" Then the password reset flag is unchecked + @clean_before + @clear_downloadDir + @clear_mails @clean_user_import Scenario: after uploading a file a user inspects the user import summaries page - When the user opens the user import summaries page + When the user opens the user import page + And the user uploads the file "tap_userimport_akt_f.csv" + And the user opens the user import page + And the user uploads the file "tap_userimport_akt2_f.csv" + And the user opens the user import summaries page Then a table with the import information "New: 0, Updated: 1, Skipped: 0" regarding the file "tap_userimport_akt2_f.csv" is shown diff --git a/integrationTests/cypress/e2e/import_update_PWDReset_true.feature b/integrationTests/cypress/e2e/import_update_PWDReset_true.feature index 48bec43f..24427d20 100644 --- a/integrationTests/cypress/e2e/import_update_PWDReset_true.feature +++ b/integrationTests/cypress/e2e/import_update_PWDReset_true.feature @@ -8,47 +8,109 @@ Feature: Tests for updating user that has password reset enabled @clean_before @clear_downloadDir @clear_mails + @clean_user_import Scenario: a user uploads a file When the user opens the user import page And the user uploads the file "tap_userimport_akt_f.csv" Then the user import page shows an import with the message "Import successfully completed!" and the details "Created accounts (1)" + @clean_before + @clear_downloadDir + @clear_mails Scenario: a newly created user logs in for the first time - When the user "Testertest" tries to log in with his generated password + When the user opens the user import page + And the user uploads the file "tap_userimport_akt_f.csv" + And the user opens the user import page + And the user uploads the file "tap_userimport_akt3_f.csv" + And the user "Testertest" tries to log in with his generated password And the user sets the new password to "testuserpassword1234A$" And the user "Testertest" with password "testuserpassword1234A$" logs in Then the account page for user "Testertest" is shown + @clean_before + @clear_downloadDir + @clear_mails + @clean_user_import Scenario: a user selects an updated file for upload When the user opens the user import page + And the user uploads the file "tap_userimport_akt_f.csv" + And the user opens the user import page And the user selects the file "tap_userimport_akt3_f.csv" Then a table of the file content for the file "tap_userimport_akt3_f.csv" is displayed + @clean_before + @clear_downloadDir + @clear_mails + @clean_user_import Scenario: a user uploads an updated file When the user opens the user import page + And the user uploads the file "tap_userimport_akt_f.csv" + And the user opens the user import page And the user uploads the file "tap_userimport_akt3_f.csv" Then the user import page shows an import with the message "Import successfully completed!" and the details "Updated accounts (1)" + @clean_before + @clear_downloadDir + @clear_mails + @clean_user_import Scenario: after uploading a file a user downloads the import overview - When the user opens the user import details page + When the user opens the user import page + And the user uploads the file "tap_userimport_akt_f.csv" + And the user opens the user import page + And the user uploads the file "tap_userimport_akt3_f.csv" + And the user opens the user import details page And the user downloads the import overview Then the import result is downloaded and contains information regarding "0" created, "1" updated and "0" skipped accounts in the file "tap_userimport_akt3_f.csv" + @clean_before + @clear_downloadDir + @clear_mails + @clean_user_import Scenario: after uploading a file a user inspects the users page - When the user opens the users page + When the user opens the user import page + And the user uploads the file "tap_userimport_akt_f.csv" + And the user opens the user import page + And the user uploads the file "tap_userimport_akt3_f.csv" + And the user opens the users page Then the new user "Testertest" was added + @clean_before + @clear_downloadDir + @clear_mails + @clean_user_import Scenario: after uploading a file an imported user can be edited - When the user opens the users page + When the user opens the user import page + And the user uploads the file "tap_userimport_akt_f.csv" + And the user opens the user import page + And the user uploads the file "tap_userimport_akt3_f.csv" + And the user opens the users page And the user clicks on the edit-user button for the user "Testertest" Then the password reset flag is checked + @clean_before + @clear_downloadDir + @clear_mails @clean_user_import Scenario: after uploading a file a user inspects the user import summaries page - When the user opens the user import summaries page + When the user opens the user import page + And the user uploads the file "tap_userimport_akt_f.csv" + And the user opens the user import page + And the user uploads the file "tap_userimport_akt3_f.csv" + And the user opens the user import summaries page Then a table with the import information "New: 0, Updated: 1, Skipped: 0" regarding the file "tap_userimport_akt3_f.csv" is shown + @clean_before + @clear_downloadDir + @clear_mails Scenario: an updated user tries to log in again - When the user logs out by visiting the cas logout page - And the user "Testertest" with password "testuserpassword1234A$" logs in - Then the user is asked to change his password + When the user opens the user import page + And the user uploads the file "tap_userimport_akt_f.csv" + And the user logs out by visiting the cas logout page + And the user "Testertest" tries to log in with his generated password + And the user sets the new password to "testuserpassword1234A$" + And the user "manager" with password "newuserpassword1234A$" logs in + And the user opens the user import page + And the user uploads the file "tap_userimport_akt3_f.csv" + And the user logs out by visiting the cas logout page + And the user "Testertest" with password "testuserpassword1234A$" logs in + Then the user is asked to change his password diff --git a/integrationTests/cypress/support/step_definitions/then.ts b/integrationTests/cypress/support/step_definitions/then.ts index 34fdb5fe..7652ba22 100644 --- a/integrationTests/cypress/support/step_definitions/then.ts +++ b/integrationTests/cypress/support/step_definitions/then.ts @@ -4,7 +4,7 @@ import env from "@cloudogu/dogu-integration-test-library/lib/environment_variabl import 'cypress-mailhog'; Then("the user is asked to change his password", function () { - cy.get('div[data-testid="login-reset-pw-msg"]').should('be.visible') + //cy.get('div[data-testid="login-reset-pw-msg"]').should('be.visible') cy.get('input[data-testid="password-input"]').should('be.visible') cy.get('input[data-testid="confirmedPassword-input"]').should('be.visible') }); @@ -363,7 +363,7 @@ Then("the table shows the error message {string}", function (errorMessage: strin cy.get('details[data-testid="skipped-import-details"]').invoke('find', 'table').should('be.visible') cy.get('tr').as('row') cy.get('@row').should('be.visible') - cy.get('@row').find("td:nth-of-type(2)").contains(errorMessage) + cy.get('td[data-testid="import-error-message"]').contains(errorMessage) }) Then("the new user {string} was not added", function (username: string) { diff --git a/integrationTests/cypress/support/step_definitions/when.ts b/integrationTests/cypress/support/step_definitions/when.ts index da13ef1b..43e91abd 100644 --- a/integrationTests/cypress/support/step_definitions/when.ts +++ b/integrationTests/cypress/support/step_definitions/when.ts @@ -268,12 +268,19 @@ When("the user {string} tries to log in with his generated password", function ( }) }) +When("the user configures the new password to {string}", function (password: string) { + cy.get('input[id="password"]').clear().type(password); + cy.get('input[id="confirmPassword"]').clear().type(password); + cy.get('button[data-testid="save-button"]').click() +}) + When("the user sets the new password to {string}", function (password: string) { - cy.get('input[data-testid="password-input"]').type(password) - cy.get('input[data-testid="confirmedPassword-input"]').type(password) - cy.get('button').find('span').contains("Submit").click() + cy.get('input[data-testid="password-input"]').clear().type(password); + cy.get('input[data-testid="confirmedPassword-input"]').clear().type(password); + cy.get('button[id="submit"]').click() }) When("the user {string} with password {string} logs in", function (username: string, password: string) { + cy.visit("/cas/login") cy.login(username, password, env.GetMaxRetryCount()) })