sut = new FilesystemService(new Filesystem()); } /** * @dataProvider provideRecordsAndExpectedDocumentFilenames */ public function testItProperlyGeneratesDocumentFileNames($expected, $recordId, $filename) { $record = $this->prophesize(RecordInterface::class); $record->getRecordId()->willReturn($recordId); $this->assertEquals($expected, $this->sut->generateDocumentFilename($record->reveal(), $filename)); } public function provideRecordsAndExpectedDocumentFileNames() { return [ ['2_document.jpg', 2, 'foo.jpg'], ['42_document.jpg', 42, 'bar.JPG'], ['2_document.pdf', 2, new \SplFileInfo('foo_bar.pdf')], ]; } }