Skip to content

Commit

Permalink
Fix OcrBackendInfoServiceTest for #140
Browse files Browse the repository at this point in the history
Signed-off-by: Robin Windey <[email protected]>
  • Loading branch information
R0Wi committed Sep 24, 2022
1 parent de01176 commit 3bdf96b
Show file tree
Hide file tree
Showing 5 changed files with 43 additions and 37 deletions.
2 changes: 1 addition & 1 deletion lib/Helper/ISidecarFileAccessor.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ interface ISidecarFileAccessor {
/**
* Creates a new temporary sidecar file for OCR text content.
* If a file was already created, the path to the existing file is returned.
*
*
* @return string|bool Path to the sidecar file or false if the file could not be created
*/
public function getOrCreateSidecarFile();
Expand Down
14 changes: 7 additions & 7 deletions src/test/components/WorkflowOcr.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,14 @@ describe('Init tests', () => {

describe('Language settings tests', () => {
test('Should have 3 languages available', async () => {
installedLanguages = ["deu", "eng", "fra"]
installedLanguages = ['deu', 'eng', 'fra']
const wrapper = mount(WorkflowOcr)
await new Promise(process.nextTick)
expect(wrapper.vm.availableLanguages.length).toBe(3)
})

test('Should select one language', async () => {
installedLanguages = ["deu", "eng", "fra"]
installedLanguages = ['deu', 'eng', 'fra']
const wrapper = mount(WorkflowOcr, {
propsData: {
value: '{ "languages": [ "deu" ], "removeBackground": true }',
Expand All @@ -44,14 +44,14 @@ describe('Language settings tests', () => {
})

test('Should select no language when value not set', async () => {
installedLanguages = ["deu", "eng", "fra"]
installedLanguages = ['deu', 'eng', 'fra']
const wrapper = mount(WorkflowOcr)
await new Promise(process.nextTick)
expect(wrapper.vm.selectedLanguages.length).toBe(0)
})

test('Should select no language when value set to null', async () => {
installedLanguages = ["deu", "eng", "fra"]
installedLanguages = ['deu', 'eng', 'fra']
const wrapper = mount(WorkflowOcr, {
propsData: {
value: null,
Expand All @@ -62,7 +62,7 @@ describe('Language settings tests', () => {
})

test('Should not select any language if language code not found', async () => {
installedLanguages = ["deu", "eng", "fra"]
installedLanguages = ['deu', 'eng', 'fra']
const wrapper = mount(WorkflowOcr, {
propsData: {
value: '{ "languages": [ "nonExistend" ], "removeBackground": true }',
Expand All @@ -73,7 +73,7 @@ describe('Language settings tests', () => {
})

test('Should return empty array if value is null', async () => {
installedLanguages = ["deu", "eng", "fra"]
installedLanguages = ['deu', 'eng', 'fra']
const wrapper = mount(WorkflowOcr, {
propsData: {
value: '{ "languages": null }',
Expand All @@ -84,7 +84,7 @@ describe('Language settings tests', () => {
})

test('Should add new language if user selects additional language', async () => {
installedLanguages = ["deu", "eng", "fra"]
installedLanguages = ['deu', 'eng', 'fra']
const wrapper = mount(WorkflowOcr, {
propsData: {
value: '{ "languages": [ "de" ], "removeBackground": true }',
Expand Down
2 changes: 1 addition & 1 deletion src/test/service/ocrBackendInfoService.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@ test('getInstalledLanguages returns correct data from server', async () => {
expect(result.length).toBe(2)
expect(axios.get).toHaveBeenCalledTimes(1)
expect(axios.get).toHaveBeenCalledWith('/apps/workflow_ocr/ocrBackendInfo/installedLangs')
})
})
52 changes: 26 additions & 26 deletions tests/Unit/Service/EventServiceTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,29 +33,29 @@

class EventServiceTest extends TestCase {

/** @var IEventDispatcher|MockObject */
private $eventDispatcher;

/** @var EventService */
private $service;

public function setUp() : void {
$this->eventDispatcher = $this->createMock(IEventDispatcher::class);
$this->service = new EventService($this->eventDispatcher);
parent::setUp();
}

public function testTextRecognizedDispatchesEvent() {
/** @var File|MockObject */
$file = $this->createMock(File::class);
$recognizedText = 'recognizedText';
$ocrResult = new OcrProcessorResult('content', 'pdf', $recognizedText);
$this->eventDispatcher->expects($this->once())
->method('dispatchTyped')
->with($this->callback(function (TextRecognizedEvent $event) use ($recognizedText, $file) {
return $event->getRecognizedText() === $recognizedText && $event->getFile() === $file;
}));

$this->service->textRecognized($ocrResult, $file);
}
}
/** @var IEventDispatcher|MockObject */
private $eventDispatcher;

/** @var EventService */
private $service;

public function setUp() : void {
$this->eventDispatcher = $this->createMock(IEventDispatcher::class);
$this->service = new EventService($this->eventDispatcher);
parent::setUp();
}

public function testTextRecognizedDispatchesEvent() {
/** @var File|MockObject */
$file = $this->createMock(File::class);
$recognizedText = 'recognizedText';
$ocrResult = new OcrProcessorResult('content', 'pdf', $recognizedText);
$this->eventDispatcher->expects($this->once())
->method('dispatchTyped')
->with($this->callback(function (TextRecognizedEvent $event) use ($recognizedText, $file) {
return $event->getRecognizedText() === $recognizedText && $event->getFile() === $file;
}));

$this->service->textRecognized($ocrResult, $file);
}
}
10 changes: 8 additions & 2 deletions tests/Unit/Service/OcrBackendInfoServiceTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,14 @@ public function testGetInstalledLanguagesLogsWarningIfCommandStrErrOrErrOutputWa
$logged = false;
$this->logger->expects($this->once())
->method('warning')
->willReturnCallback(function ($message) use ($stdErr, $errorOutput, &$logged) {
$logged = strpos($message, $stdErr) !== false || strpos($message, $errorOutput) !== false;
->willReturnCallback(function ($message, $paramsArr) use ($stdErr, $errorOutput, &$logged) {
$this->assertEquals('Tesseract list languages succeeded with warning(s): {stdErr}, {errorOutput}', $message);
if (!empty($stdErr)) {
$logged = $paramsArr['stdErr'] === $stdErr;
}
if (!empty($errorOutput)) {
$logged = $paramsArr['errorOutput'] === $errorOutput;
}
});

$this->service->getInstalledLanguages();
Expand Down

0 comments on commit 3bdf96b

Please sign in to comment.