User:Abhinavrai/sandbox
Feature Tests for Team Functionality
[edit]Background
[edit]Expertiza is an open source web based peer review system developed and maintained by students and faculty at North Carolina State University. It enables students enrolled in a particular course to form online teams and complete assignments. A typical cycle of an assignment involves the following major steps:
- A pool of topics is made available to the students to choose from and form team to complete it within a pre-set deadline.
- After the development phase is finished, begins the peer review phase. Here students can review work of other teams, on the basis of some predefined factors and provide their feedback.
- Members of a team can also provide feedback for the respective review done for their work.
- In some projects there is a second development phase which allows team members to improve upon their work keeping past reviews in consideration.
- After this second development cycle begins another review phase, where original reviewers can re-review the updated work and provide critical feedback.
Purpose
[edit]The purpose of this task is to write functional tests for team functionality. Once an assignment is out, a student can select this assignment and others can join in the team. To test this functionality we wrote functional tests for the various scenarios. One such scenario is :
- Once the assignment is out and a student selects it, he/she can send out invites to other students to join the team.
- Invited students can accept the invitation and join the team.
Functional Tests
[edit]Functional tests ensure that the functionalities of a software system are working as expected. To write our functional tests, we used the Capybara gem available for Ruby. Capybara gem allows a user to test their web application through simulations.
Functional Tests Implementation
[edit]Running the tests
[edit]The tests can be run on the terminal using the command:
rspec specfile.rb
Whether the test fails or succeeds, allows us to determine which parts of the system are functioning properly.
External Links
[edit]- link for forked repository
- Github link for original repository
- Github link for Capybara