Jump to content

User:Abhinavrai/sandbox

From Wikipedia, the free encyclopedia

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.

[edit]
  1. link for forked repository
  2. Github link for original repository
  3. Github link for Capybara