CSC/ECE 517 Fall 2015/FeatureTestForAssignmentSubmission

From Expertiza_Wiki
Jump to navigation Jump to search

Expertiza is a web application where students can submit and peer-review learning objects (articles, code, web sites, etc). It is used in select courses at NC State and by professors at several other colleges and universities. <ref>Template:Expertiza GitHub Page</ref>

Introduction

Our contribution in this project is to write feature test for assignment submission by student. The test would mock steps taken by the student to manually submit the assignment.

Assumptions

To implement each scenario in the test, the following assumptions were taken:

  1. The feature test will use the development environment.
  2. A particular student (used in testing) entry is already done in the database. TODO explain that he is already enrolled.
  3. A particular instructor entry is present in the database. TODO provide credentials Name: instructor6 Password: password
  4. The instructor requires to create a new assignment and add the student as a participant to that assignment. These instructions are provided on Expertiza Wiki Page [ref | http://wikis.lib.ncsu.edu/index.php/Expertiza]
  5. Student has a topic selected from the sign up sheet.

Pre-requisites

Steps for manual submission

Steps

  1. Login with valid username and password
  2. Click on an assignment to submit
  3. Click on "Your Work" to submit link or upload file
  4. Click on "Upload Link" or "Upload File" to submit deliverable.

Feature test scenarios covered

Scenarios

  1. scenario 'student with invalid credentials'
  2. scenario 'student with valid credentials'
  3. scenario 'no assignment available to submit'
  4. scenario 'submitting link for finished assignment'
  5. scenario 'submitting file for finished assignment'
  6. scenario 'submitting link to ongoing assignment'
  7. scenario 'submitting file to ongoing assignment'

Gems involved

Rspec

Capybara

Files changed

Code written for feature test

How to run the feature test

How to review the feature test

Steps

  1. Git fork
  2. bundle install
  3. db:migrate
  4. use command rspec spec/features/student_assignment_submission_spec.rb

Video Tutorial

Images

References

External links