CSC/ECE 517 Fall 2018/E1852 Unit Test for Participant Model

From Expertiza_Wiki
Jump to navigation Jump to search

CSC/ECE 517 Fall 2018/E1852 Unit Test Participant Model


About Expertiza

Test Cases

TASKS IDENTIFIED

Test team

A Participant can be a member of a Team. When team method is called on a Participant, it should return the Team it belongs to.

Test responses

A Participant has many ResponseMaps that map a connection between this participant as a reviewer and as a reviewee. Each ResponseMap has many Responses associated with it. When responses method is called on a Participant, it should return an array of responses associated to this Participant.

Test name

A Participant is a User. When name method is called on a Participant, it should return the name of this User.

Test fullname

A Participant is a User. When fullname method is called on a Participant, it should return the full name of this User.

Test topic_name

When a Participant is a User associated with an Assignment, it can have a Topic assigned to its Assignment. When topic_name method is called on a Participant, it should return the name of its Topic. If a Topic is not assigned or has no name, it should return an error message.

Test handle

Test delete

Test force_delete

Test able_to_review

When able_to_review method is called on a Participant, it should return true if it can review and false otherwise.

Test email

Test scores

When scores method is called on a Participant, it should return the total scores it received for a given number of questions.

Test self.get_permissions

Test self.get_authorization

def self.get_authorization(can_submit, can_review, can_take_quiz)
    authorization = 'participant'
    authorization = 'reader' if can_submit == false and can_review == true and can_take_quiz == true
    authorization = 'submitter' if can_submit == true and can_review == false and can_take_quiz == false
    authorization = 'reviewer' if can_submit == false and can_review == true and can_take_quiz == false
    authorization
end

Test self.sort_by_name

Participants are Users. When self.sort_by_name method is called on a Participant, it should sort a given set of participants based on their usernames.