Release #2 Event Creation and Overhaul Part 1 | Included Features Full User Documentation - cseseniordesign/reservations GitHub Wiki

Features to be Included in Release #2

Story #30, #52, #55, #73 Add Trainers to Events

Story #30, #52 Adding Trainers to events and adding the "make trainer" checkbox on the user edit page

Dev Testing Instructions

  1. Make sure you are on the most recent version of the dev-add-trainers-to-events branch.
  2. Go to the Users page on the website.
  3. Start editing any user.
  4. Scroll down and check the Make Trainer checkbox.
  5. Click the Update button to finish editing the user.
  6. Edit the user again, making sure the Make Trainer box is still checked.
  7. Navigate to the Users table in the database.
  8. Verify that the is_trainer column is set to 1 for the user you edited.
  9. Now that you have made a user a trainer, navigate to the Events page on the website.
  10. Create a new event or edit an existing one.
  11. Click the Trainer: drop-down.
  12. Click on the user that you made a trainer earlier.
  13. Click Save Event.
  14. Edit the event again to ensure the trainer you selected is still assigned to the event.

Story #55 Notify the assigned trainer when assigned to event or when event details are modified

Dev Testing Instructions

  1. Make sure you are on the most recent version of the dev-notify-trainers branch.
  2. Go to the Users page on the website.
  3. Start editing the user details for yourself.
  4. Scroll down and check the Make Trainer checkbox. This will allow you to be assigned as a Trainer to events. It also adds the My Trainings section to your Home Page.
  5. Click the Update button to finish editing the user.
  6. Go to the Events page and create a New Event.
  7. Fill out the required sections.
  8. Under the Trainer drop-down, select yourself.
  9. Create the event.
  10. You should receive an email notification saying you have been added as a trainer for the event.
  11. Edit the event.
  12. Optional: change some details, such as adding text to the Description.
  13. Click Save Event.
  14. You should receive an email notifying you of the event being modified. Verify that the "home page" link takes you to your home page.
  15. Navigate to your home page. Verify that the event is listed under My Trainings.
  16. Go back to the Events page and edit the event again.
  17. Remove the Trainer from the event.
  18. Click Save Event.
  19. You should receive an email notifying you of your removal from the event.
  20. Edit the event and assign yourself as a Trainer once again.
  21. Delete the event on the Events page.
  22. You should receive an email notifying you of the event's deletion.

Story #73 Remind the assigned event trainer of their assignment until they acknowledge it.

Dev Testing Instructions

  1. Make sure you are on the most recent version of the dev-require-trainer-confirmation branch.
  2. Go to the Users page on the website.
  3. Start editing the user details for yourself.
  4. Scroll down and check the Make Trainer checkbox. This will allow you to be assigned as a Trainer to events. It also adds the My Trainings section to your Home Page.
  5. Click the Update button to finish editing the user.
  6. Go to the Events page and create a New Event.
  7. Fill out the required sections.
  8. Under the Trainer drop-down, select yourself.
  9. Create the event.
  10. Navigate to config/initializers/scheduler.rb
  11. Copy and paste the following function after the scheduler.cron function:
scheduler.every '20s' do
    system("ruby ././scripts/email_unconfirmed_trainers.rb")
end
  1. Save the file.
  2. Start the server on localhost and navigate to any page. This will start the scheduler.
  3. After about 20 seconds, you should receive an email with the subject "Nebraska Innovation Studio - Unconfirmed Training."
  4. Navigate to your home page (you can use the link in the email).
  5. Scroll down to find your event and click "Confirm Training."
  6. You should not receive any further emails, unless you are a trainer for other events and have not confirmed them yet.
  7. Navigate to the Events page.
  8. Edit the event and remove yourself as a trainer.
  9. Save the event.
  10. Edit the event once again and assign yourself as a trainer.
  11. Navigate to your home page.
  12. Verify that the event is not confirmed.
  13. Stop the program.
  14. Remove the code you added in step 11 and save the file.

Story #31, #49 Add Preset Events

Dev Testing Instructions

  1. Make sure you are on the most recent version of the dev-event-presets branch.
  2. Start your dev environment and log in with development2 so you have all permissions.
  3. Navigate to the Admin -> Events page
  4. Click the button in the toolbox to navigate to the event presets page.
  5. On the Manage Preset Events page make sure there is a button to create a new preset and that there is a table showing the current presets.
  6. Click "new preset" and try to create a preset without filling out all of the required fields. Ensure that an error is flashed and that the preset is not created.
  7. Create a valid preset and ensure that you are redirected to the previous page and that you now see the preset in the table.
  8. Edit the preset you just created and make sure the page loads pre-populated with all the information that you set when you created it. Edit the preset and make sure it updates. If you clear out the required fields and try to save you should get an error.
  9. Ensure that you can delete the preset. Make sure that when you delete the preset that the join table records that tie tools to it are also deleted from the database.
  10. Ensure there are no errors in the console throughout your testing and that the page is responsive on all screen sizes.

Production Testing Instructions

  1. Go to https://innovationstudio-manager.unl.edu/login/ and log in with an account that has elevated permissions to view the Admin -> Events page.
  2. Follow steps 3 and up from the dev testing instructions above.

Story #32 Add a UI to Auto-fill Events based on Preset

Dev Testing Instructions

  1. Make sure you are on the most recent version of the dev-autofill-event-creation branch.
  2. Start your dev environment and log in with development2 so you have all permissions.
  3. Navigate to the Admin -> Events page
  4. Click the button in the toolbox to navigate to the event presets page.
  5. On the Manage Preset Events page make sure there is a button to create a new event and a dropdown to select a current preset.
  6. Choose a preset from the dropdown.
  7. Click the button 'New Event from Preset'
  8. You should now be redirected to the events page, where the fields are populated with values pertaining to the selected preset event or not filled in the case of no selected preset event.
  9. Change the start date and time of the event.
  10. The end date should be the same as the start date.
  11. The end time should be set to the start time plus the duration of the selected preset event unless no preset event was selected then the end time will be the same as the start time.
  12. Create the new event.
  13. Ensure there are no errors in the console throughout your testing and that the page is responsive on all screen sizes.

Production Testing Instructions

  1. Go to https://innovationstudio-manager.unl.edu/login/ and log in with an account with elevated permissions to view the Admin -> Events page.
  2. Follow steps 3 and up from the dev testing instructions above.

Story #67 Hide UNL Login

Dev Testing Instructions

  1. Make sure you are on the most recent version of the 'dev-hide-login' branch.
  2. Start your dev environment and log in with development2 so you have access to all the pages of the site.
  3. Navigate around the site ensuring that the UNL login does not appear in the top bar next to the search bar.
  4. Repeat step 3 in a mobile window configuration.

Production Testing Instructions

  1. Go to https://innovationstudio-manager.unl.edu/login/ and log in with an account that has elevated permissions to view the Admin -> Users page.
  2. Follow step 3 and 4 from the dev testing instructions.

Story #64 Reduce Member Table Load Time, Story #68 Remove expiration status from studio status in edit user

Dev Testing Instructions

  1. Make sure you are on the most recent version of the dev-reduce-member-table-loading-time branch.
  2. Start your dev environment and log in with development2 so you have all permissions.
  3. Navigate to the Admin -> Users page
  4. Ensure that when the page loads no users show and you just see the search options.
    • Complete some searches and make sure the users that meet the search criteria show. If you search without entering any search filters you should see all users.
    • Ensure sorting still works.
    • Ensure the "no users meet this search criteria" message shows if you search for users with criteria that no users meet.
  5. Search for users with first name "development"
  6. Click edit on any of the development users
    • Ensure that you now see a dropdown for "email preference" instead of "studio status". The email preference dropdown should have options for opt-in and opt-out.
    • Modify the email preferences and save the user. Ensure the database updates the user's space_status accordingly based on the selected email preference and the user's expiration date.
  7. Ensure there are no errors in the console throughout your testing, the page is still responsive on all screen sizes, and everything is readable in dark and light mode.

Production Testing Instructions

  1. Go to https://innovationstudio-manager.unl.edu/login/ and log in with an account that has elevated permissions to view the Admin -> Users page.
  2. Follow steps 3 and up from the dev testing instructions above.