Added some model tests
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
2025-08-13 09:57:04 -04:00
parent 3f0efce0d8
commit bd822664b0
7 changed files with 91 additions and 0 deletions

View File

@@ -22,4 +22,5 @@ end
group :test do
gem 'rspec'
gem 'rack-test'
gem 'database_cleaner-sequel'
end

View File

@@ -4,6 +4,10 @@ GEM
ast (2.4.3)
base64 (0.3.0)
bigdecimal (3.2.2)
database_cleaner-core (2.0.1)
database_cleaner-sequel (2.0.2)
database_cleaner-core (~> 2.0.0)
sequel
diff-lcs (1.6.2)
ffi (1.17.2-aarch64-linux-gnu)
ffi (1.17.2-aarch64-linux-musl)
@@ -129,6 +133,7 @@ PLATFORMS
x86_64-linux-musl
DEPENDENCIES
database_cleaner-sequel
logger
puma (~> 6.6)
rack-test

View File

@@ -29,6 +29,7 @@ end
namespace :test do
task :unit do
ENV['RACK_ENV'] = 'testing'
system("rspec")
end

View File

@@ -0,0 +1,25 @@
# frozen_string_literal: true
require_relative '../spec_helper'
RSpec.describe(Benchmark) do
describe 'Benchmark Creation' do
it 'Benchmark creation updates model count.' do
expect{ Benchmark.create(name: 'Test Benchmark', scoring: 'fps') }.to(change { Benchmark.count }.by(1))
end
end
describe 'Benchmark Read' do
before { Benchmark.create(name: 'Test Benchmark', scoring: 'fps') }
it 'Benchmark model has name.' do
bench = Benchmark.first()
expect(bench.name).to(eq('Test Benchmark'))
end
it 'Benchmark model has scoring.' do
bench = Benchmark.first()
expect(bench.scoring).to(eq('fps'))
end
end
end

View File

@@ -0,0 +1,25 @@
# frozen_string_literal: true
require_relative '../spec_helper'
RSpec.describe(Hardware) do
describe 'Hardware Creation' do
it 'Hardware creation updates model count.' do
expect{ Hardware.create(name: 'Test Hardware', type: 'gpu') }.to(change { Hardware.count }.by(1))
end
end
describe 'Hardware Read' do
before { Hardware.create(name: 'Test Hardware', type: 'gpu') }
it 'Hardware model has name.' do
hardware = Hardware.first()
expect(hardware.name).to(eq('Test Hardware'))
end
it 'Hardware model has scoring.' do
hardware = Hardware.first()
expect(hardware.type).to(eq('gpu'))
end
end
end

View File

@@ -0,0 +1,22 @@
# frozen_string_literal: true
require_relative '../spec_helper'
RSpec.describe(Test) do
describe 'Test Creation' do
it 'Test creation updates model count.' do
expect{ Test.create(name: 'Test Test') }.to(change { Test.count }.by(1))
end
end
describe 'Test Read' do
before do
Test.create(name: 'Test Test')
end
it 'Test model has name.' do
tst = Test.first()
expect(tst.name).to(eq('Test Test'))
end
end
end

View File

@@ -5,6 +5,7 @@ ENV['APP_ENV'] = 'test'
require_relative '../src/server'
require 'rspec'
require 'rack/test'
require 'database_cleaner/sequel'
# setting this here so all redirect tests can reference the same base URL
BASE_URL = 'http://example.org'
@@ -21,4 +22,15 @@ end
RSpec.configure do |config|
config.include(RSpecMixin)
config.before(:suite) do
DatabaseCleaner.strategy = :truncation
DatabaseCleaner.clean_with(:truncation)
end
config.around(:each) do |suite|
DatabaseCleaner.cleaning do
suite.run
end
end
end