CSC/ECE 517 Spring 2023 - E2348 Replicate Roles and Institution UIs ReactJS

From Expertiza_Wiki
Jump to navigation Jump to search

Overview of Expertiza

Expertiza is a learning management system that is developed with Ruby on Rails and is accessible as open source software. It can create assignments, tests, assignment teams, and courses, among a wide range of other features and functions. It also has a thorough system for giving other teams and groups of teammates peer reviews and feedback. The files that are largely addressed in this project, such as assignment_node.rb, course_node.rb, team_node.rb, folder_node.rb, and questionnaire_node.rb, are essential in executing this functionality.

Description of Project

Files Modified

Changes to app/models/assignment_node.rb

 #  Change Why?
1 Redefined self.get method and added two new methods self.get_assignment_query_conditions and self.get_assignments_managed_by_user. The self.get method calls these two methods and creates the database query for getting the assignments. Creating two extra methods and calling them from self.get makes the code readable and uniform among all the files.

Changes to spec/models/course_node_spec.rb

 #  Change Why?
1 Changed the method name from get_survey_distribution_id to get_course_survey_distribution_id in the test case where it is used Any changes made to the name of methods in the files should also be reflected in the test cases for them to pass successfully. If a method name is changed in a file and the same is not updated in the test case, the test case will fail

Testing

Testing was not in the scope for this project as it did not involve creating new methods or functions. However, care was taken that the existing test cases pass after refactoring the code as mentioned in the previous sections. Screenshots for all passing test cases have been attached below


Test Plan - Manual/System Test Cases

We ran a few system tests manually to make sure the functionality works as expected.

1) Test instructor login & redirect to home page

Login page was displayed properly from our branch. After logging in user is properly redirected to the home page.

Page shown to the user after logging in to expertiza
Page shown to the user after logging in to expertiza

2) Test Course Section

Then, when the user clicks the course section, the course section is loaded with all the public and private courses displayed.

3) Test Assignment section

Then, when the user clicks the assignment section, the assignment section is loaded with all the assignments displayed.

4) Test Questionnaire section

Then, when the user clicks the questionnaire section, the questionnaire section is loaded with all the questionnaires displayed.

Automated Testing of course_node.rb

After refactoring the code for course_node.rb, all the test cases passed for it.

Automated Testing of questionnaire_node.rb

After refactoring the code for questionnaire_node.rb, all the test cases passed for it.

Automated Testing of team_node.rb

After refactoring the code for team_node.rb, all the test cases passed for it.

Relevant Links

Credentials

Username: instructor6

Password: password

Contributors to this project

  • Palash Rathod (unityid: prathod, github: palash27)
  • Neha Kale (unityid: nkale2, github: nehakale8)
  • Vansh Mehta (unityid: vpmehta2, github: vanshmehta-7)