From 3eca29c2db1eeba7193ff30d1ee525c7ef1659de Mon Sep 17 00:00:00 2001 From: Gregory Ballantine Date: Wed, 29 May 2024 11:52:01 -0400 Subject: [PATCH] Added back reference associations for result; added table of results to test view --- models/benchmark.go | 5 ++++- models/hardware.go | 5 ++++- models/test.go | 5 ++++- templates/test/view.tmpl | 27 ++++++++++++++++++++++++++- web/routes/test.go | 2 +- 5 files changed, 39 insertions(+), 5 deletions(-) diff --git a/models/benchmark.go b/models/benchmark.go index 3b4c46f..f9f2b05 100644 --- a/models/benchmark.go +++ b/models/benchmark.go @@ -11,5 +11,8 @@ type Benchmark struct { Description string // many-to-many test - Tests[] Test `gorm:"many2many:tests_benchmarks;"` + Tests []Test `gorm:"many2many:tests_benchmarks;"` + + // has many results + Results []Result } diff --git a/models/hardware.go b/models/hardware.go index a0eb436..7894f39 100644 --- a/models/hardware.go +++ b/models/hardware.go @@ -10,5 +10,8 @@ type Hardware struct { Type string // has many tests - Tests[] Test + Tests []Test + + // has many results + Results []Result } diff --git a/models/test.go b/models/test.go index 4a54e97..f378baf 100644 --- a/models/test.go +++ b/models/test.go @@ -14,5 +14,8 @@ type Test struct { Hardware Hardware // many-to-many benchmarks - Benchmarks[] Benchmark `gorm:"many2many:tests_benchmarks;"` + Benchmarks []Benchmark `gorm:"many2many:tests_benchmarks;"` + + // has many results + Results []Result } diff --git a/templates/test/view.tmpl b/templates/test/view.tmpl index 903c15e..7132248 100644 --- a/templates/test/view.tmpl +++ b/templates/test/view.tmpl @@ -66,7 +66,32 @@

Latest Benchmark Results:

-

There are currently no benchmarks recorded in this test.

+ {{ $length := len .test.Results }} {{ if eq $length 0 }} +

There are currently no benchmarks recorded in this test.

+ {{ else }} + + + + + + + + + + + + {{ range $res := .test.Results }} + + + + + + + + {{ end }} + +
HardwareBenchmarkAverageMinimumMaximum
{{ $res.Hardware.Name }}{{ $res.Benchmark.Name }}{{ $res.AverageScore }}{{ $res.MinimumScore }}{{ $res.MaximumScore }}
+ {{ end }}
diff --git a/web/routes/test.go b/web/routes/test.go index c886c7c..5d31603 100644 --- a/web/routes/test.go +++ b/web/routes/test.go @@ -30,7 +30,7 @@ func TestGetView(c flamego.Context, t template.Template, data template.Data) { // find hardware from DB var test models.Test - models.DB.Preload("Hardware").Preload("Benchmarks").First(&test, testID) + models.DB.Preload("Hardware").Preload("Benchmarks").Preload("Results").First(&test, testID) data["test"] = test data["title"] = test.Name