From 55d5ab360165b6e8ce6dae2a4333b3ff0a4daa2b Mon Sep 17 00:00:00 2001
From: Dasun Pubudumal <pubudumald@gmail.com>
Date: Thu, 30 Jan 2025 15:30:23 +0000
Subject: [PATCH] Fix label printing error message

---
 app/models/print_job_wrapper.rb       | 6 +++++-
 spec/models/print_job_wrapper_spec.rb | 6 ++++++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/app/models/print_job_wrapper.rb b/app/models/print_job_wrapper.rb
index dc21de20..833e055d 100644
--- a/app/models/print_job_wrapper.rb
+++ b/app/models/print_job_wrapper.rb
@@ -42,7 +42,11 @@ def printer
   end
 
   def label_template
-    LabelTemplate.find_by(name: label_template_name)
+    lt = LabelTemplate.find_by(name: label_template_name)
+    if lt.nil?
+      errors.add(:label_template_name, 'does not exist')
+    end
+    lt
   end
 
   def copies=(copies)
diff --git a/spec/models/print_job_wrapper_spec.rb b/spec/models/print_job_wrapper_spec.rb
index fae7cc7d..fe4ce841 100644
--- a/spec/models/print_job_wrapper_spec.rb
+++ b/spec/models/print_job_wrapper_spec.rb
@@ -91,6 +91,12 @@
         expect(print_job_wrapper).to be_valid
         expect(print_job_wrapper.print).to be_truthy
       end
+
+      it 'raises a StandardError with a 422 status code if label_template validation fails' do
+        print_job_wrapper = PrintJobWrapper.new(attributes.except(:label_template_name))
+        expect(print_job_wrapper).to_not be_valid
+        expect(print_job_wrapper.print).to be_falsy
+      end
     end
   end