mirror of
https://expo.survex.com/repositories/troggle/.git
synced 2025-12-17 23:17:11 +00:00
refactoring
This commit is contained in:
@@ -7,6 +7,9 @@ from django.test import TestCase
|
||||
import settings
|
||||
from troggle.parsers import drawings
|
||||
from troggle.core.models.survex import DrawingFile
|
||||
from troggle.core.models.wallets import Wallet
|
||||
from troggle.core.models.survex import SingleScan
|
||||
from troggle.core.models.troggle import DataIssue
|
||||
|
||||
|
||||
class DrawingsPathlibTests(TestCase):
|
||||
@@ -83,3 +86,43 @@ class DrawingsPathlibTests(TestCase):
|
||||
drawings.load_drawings_files()
|
||||
|
||||
self.assertEqual(DrawingFile.objects.count(), count)
|
||||
|
||||
def test_parse_tunnel_links_wallet_and_scan(self):
|
||||
# Create a wallet and a singlescan, then ensure parse_tnl_file links them
|
||||
w = Wallet.objects.create(fpath='x', walletname='2025#20')
|
||||
ss = SingleScan.objects.create(ffile='x', name='notes.jpg', wallet=w)
|
||||
df = DrawingFile.objects.create(dwgpath='tst.th', dwgname='tst')
|
||||
|
||||
drawings.parse_tnl_file(df, '2025#20/notes.jpg')
|
||||
|
||||
self.assertIn(w, df.dwgwallets.all())
|
||||
self.assertIn(ss, df.scans.all())
|
||||
|
||||
def test_findwalletimage_logs_missing_scan(self):
|
||||
# Wallet exists but no scan inside. Should create a DataIssue
|
||||
w = Wallet.objects.create(fpath='x', walletname='2026#01')
|
||||
df = DrawingFile.objects.create(dwgpath='tst2.th2', dwgname='tst2')
|
||||
|
||||
drawings.findwalletimage(df, '2026#01/missing.jpg')
|
||||
|
||||
di = DataIssue.objects.filter(parser='Therion', message__contains='not actually found')
|
||||
self.assertTrue(di.exists())
|
||||
|
||||
def test_drawing_reference_multiple_creates_dataissue(self):
|
||||
df1 = DrawingFile.objects.create(dwgpath='ref1', dwgname='shared')
|
||||
df2 = DrawingFile.objects.create(dwgpath='ref2', dwgname='shared')
|
||||
dfmain = DrawingFile.objects.create(dwgpath='main', dwgname='main')
|
||||
|
||||
drawings.parse_tnl_file(dfmain, 'shared')
|
||||
|
||||
di = DataIssue.objects.filter(parser='Tunnel', message__contains="files named 'shared'")
|
||||
self.assertTrue(di.exists())
|
||||
|
||||
def test_drawing_reference_single_no_dataissue(self):
|
||||
DrawingFile.objects.create(dwgpath='ref3', dwgname='unique')
|
||||
dfmain = DrawingFile.objects.create(dwgpath='main2', dwgname='main2')
|
||||
|
||||
drawings.parse_tnl_file(dfmain, 'unique')
|
||||
|
||||
di = DataIssue.objects.filter(parser='Tunnel', message__contains="files named 'unique'")
|
||||
self.assertFalse(di.exists())
|
||||
|
||||
Reference in New Issue
Block a user