From 16346fa732ea197382ab21b74e6275f18551881b Mon Sep 17 00:00:00 2001 From: Maximilian Grundke Date: Wed, 9 Mar 2016 15:20:38 +0100 Subject: [PATCH] Show testrun results in statistics --- app/models/code_ocean/file.rb | 1 + app/models/submission.rb | 2 ++ app/views/exercises/external_users/statistics.html.slim | 3 ++- config/locales/de.yml | 1 + config/locales/en.yml | 1 + 5 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app/models/code_ocean/file.rb b/app/models/code_ocean/file.rb index 4220618d..48ec97d0 100644 --- a/app/models/code_ocean/file.rb +++ b/app/models/code_ocean/file.rb @@ -21,6 +21,7 @@ module CodeOcean belongs_to :file_type has_many :files + has_many :testruns alias_method :descendants, :files mount_uploader :native_file, FileUploader diff --git a/app/models/submission.rb b/app/models/submission.rb index 16ca74dc..323f1d58 100644 --- a/app/models/submission.rb +++ b/app/models/submission.rb @@ -7,6 +7,8 @@ class Submission < ActiveRecord::Base belongs_to :exercise + has_many :testruns + delegate :execution_environment, to: :exercise scope :final, -> { where(cause: 'submit') } diff --git a/app/views/exercises/external_users/statistics.html.slim b/app/views/exercises/external_users/statistics.html.slim index 2bd640c1..456b0439 100644 --- a/app/views/exercises/external_users/statistics.html.slim +++ b/app/views/exercises/external_users/statistics.html.slim @@ -38,7 +38,7 @@ h1 = "#{@exercise} (external user #{@external_user})" table.table thead tr - - ['.time', '.cause', '.score', '.time_difference'].each do |title| + - ['.time', '.cause', '.score', '.tests', '.time_difference'].each do |title| th.header = t(title) tbody - deltas = submissions.map.with_index {|item, index| delta = item.created_at - submissions[index - 1].created_at if index > 0; if delta == nil or delta > 30*60 then 0 else delta end} @@ -47,6 +47,7 @@ h1 = "#{@exercise} (external user #{@external_user})" td.clickable = submission.created_at.strftime("%F %T") td = submission.cause td = submission.score + td = submission.testruns.map{|run| run.passed ? 'p' : 'f'}.join(' ') td = Time.at(deltas[1..index].inject(:+)).utc.strftime("%H:%M:%S") if index > 0 p = t('.addendum') diff --git a/config/locales/de.yml b/config/locales/de.yml index 5d0bc8b1..a6ab22c8 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -269,6 +269,7 @@ de: time: Zeit cause: Grund score: Punktzahl + tests: Unit Tests time_difference: 'Arbeitszeit bis hier*' addendum: '* Differenzen von mehr als 30 Minuten werden ignoriert.' external_users: diff --git a/config/locales/en.yml b/config/locales/en.yml index 38c556f5..b9f7ca80 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -269,6 +269,7 @@ en: time: Time cause: Cause score: Score + tests: Unit Test Results time_difference: 'Working Time until here*' addendum: '* Deltas longer than 30 minutes are ignored.' external_users: