Module: AssignmentStudentMethods

Includes:
PageObject
Defined in:
lib/kuali-sakai-common-lib/assignments.rb

Overview

A Student user’s page for editing/submitting/view an assignment.

Constant Summary collapse

@@file_number =

This class variable allows adding an arbitrary number of files to the page, as long as the adding steps alternate between selecting the file and clicking the add more files button

0

Instance Method Summary collapse

Instance Method Details

#assignment_text=(text) ⇒ Object

Enters the specified text into the Assignment Text FCKEditor.



499
500
501
# File 'lib/kuali-sakai-common-lib/assignments.rb', line 499

def assignment_text=(text)
  frm.frame(:id, "Assignment.view_submission_text___Frame").td(:id, "xEditingArea").frame(:index=>0).send_keys(text)
end

#back_to_listObject

Clicks the Back to list button, then instantiates the AssignmentList page class.



588
589
590
591
# File 'lib/kuali-sakai-common-lib/assignments.rb', line 588

def back_to_list
  frm.button(:value=>"Back to list").click
  AssignmentsList.new(@browser)
end

#cancelObject

Clicks the Cancel button and instantiates the AssignmentsList Class.



595
596
597
598
# File 'lib/kuali-sakai-common-lib/assignments.rb', line 595

def cancel
  frm.button(:value=>"Cancel").click
  AssignmentsList.new(@browser)
end

#headerObject

Returns the text content of the page header



479
480
481
# File 'lib/kuali-sakai-common-lib/assignments.rb', line 479

def header
  frm.div(:class=>"portletBody").h3.text
end

#instructor_commentsObject

Grabs the instructor comments text.



494
495
496
# File 'lib/kuali-sakai-common-lib/assignments.rb', line 494

def instructor_comments
  frm.div(:class=>"portletBody").div(:class=>"textPanel", :index=>2).text
end

#item_summaryObject

Returns a hash object containing the contents of the Item Summary table. The hash’s Key is the header column and the value is the content column.



485
486
487
488
489
490
491
# File 'lib/kuali-sakai-common-lib/assignments.rb', line 485

def item_summary
  hash = {}
  frm.table(:class=>"itemSummary").rows.each do |row|
    hash.store(row.th.text, row.td.text)
  end
  return hash
end

#previewObject

Clicks the Preview button, then instantiates the AssignmentStudentPreview page class.

Resets @@file_number to zero so that file uploads will work if this page is visited again in the same script.



564
565
566
567
568
# File 'lib/kuali-sakai-common-lib/assignments.rb', line 564

def preview
  frm.button(:value=>"Preview").click
  @@file_number=0
  AssignmentStudentPreview.new(@browser)
end

#remove_assignment_textObject

Clears out any existing text from the Assignment Text FCKEditor.



504
505
506
507
# File 'lib/kuali-sakai-common-lib/assignments.rb', line 504

def remove_assignment_text
  frm.frame(:id, "Assignment.view_submission_text___Frame").div(:title=>"Select All").fire_event("onclick")
  frm.frame(:id, "Assignment.view_submission_text___Frame").td(:id, "xEditingArea").frame(:index=>0).send_keys :backspace
end

#resubmitObject

Clicks the Resubmit button, then instantiates the appropriate page class, based on the page that gets loaded.

Resets @@file_number to zero so that file uploads will work if this page is visited again in the same script.



547
548
549
550
551
552
553
554
555
556
# File 'lib/kuali-sakai-common-lib/assignments.rb', line 547

def resubmit
  frm.button(:value=>"Resubmit").click
  @@file_number=0
  if frm.link(:text=>"Assignment title").exist?
    puts "list..."
    AssessmentsList.new(@browser)
  else
    SubmissionConfirmation.new(@browser)
  end
end

#save_draftObject

Clicks the Save Draft button, then instantiates the SubmissionConfirmation page class.



573
574
575
576
# File 'lib/kuali-sakai-common-lib/assignments.rb', line 573

def save_draft
  frm.button(:value=>"Save Draft").click
  SubmissionConfirmation.new(@browser)
end

#select_file(file_name, file_path = "") ⇒ Object

Enters the specified file name into the file field. Entering the path separately is optional. Once the filename is entered in the field, the @@file_number class variable is increased by one in case any more files need to be added to the upload list.



520
521
522
523
# File 'lib/kuali-sakai-common-lib/assignments.rb', line 520

def select_file(file_name, file_path="")
  frm.file_field(:id=>"clonableUpload", :name=>"upload#{@@file_number}").set(file_path + file_name)
  @@file_number += 1
end

#select_more_files_from_workspaceObject

Clicks the link to select more files from the Workspace. Then instantiates the AssignmentAttachments page class.



581
582
583
584
# File 'lib/kuali-sakai-common-lib/assignments.rb', line 581

def select_more_files_from_workspace
  frm.link(:id=>"attach").click
  AssignmentAttachments.new(@browser)
end

#submitObject

Clicks the Submit button, then instantiates the appropriate page class, based on the page that gets loaded.



528
529
530
531
532
533
534
535
536
537
538
# File 'lib/kuali-sakai-common-lib/assignments.rb', line 528

def submit
  frm.button(:value=>"Submit").click
  @@file_number=0
  if frm.div(:class=>"portletBody").h3.text=~/Submission Confirmation/
    SubmissionConfirmation.new(@browser)
  elsif frm.button(:value=>"Back to list").exist?
    SubmissionConfirmation.new(@browser)
  else
    AssessmentsList.new(@browser)
  end
end