from PIL import Image,ImageDraw
import fitz
from app.pipeline import enhance,make_pdf

def test_clean_pdf():
    im=Image.new('RGB',(600,800),'white');ImageDraw.Draw(im).text((60,60),'FACTURE 123',fill='black')
    pdf=make_pdf([enhance(im)],[[]],'clean')
    doc=fitz.open(stream=pdf,filetype='pdf'); assert len(doc)==1; assert len(doc[0].get_images())==1

def test_rebuild_pdf_contains_text():
    im=Image.new('RGB',(600,800),'white')
    pdf=make_pdf([im],[[{'text':'FACTURE','box':[.1,.1,.3,.13]}]],'rebuild')
    doc=fitz.open(stream=pdf,filetype='pdf'); assert 'FACTURE' in doc[0].get_text()
