update slack msg

This commit is contained in:
Marko
2024-03-01 10:15:12 +01:00
parent bc1c6b85bc
commit b950238865
6 changed files with 129 additions and 53 deletions

View File

@@ -15,38 +15,33 @@ use Psr\Log\LoggerInterface;
class HiltesImportTest extends TestCase
{
private $productRepository;
private $warehouseRepository;
private $stockRepository;
private $warehouseRepository;
private $logger;
private $rootPath;
private $hiltesImport;
protected function setUp(): void
{
$this->productRepository = $this->createMock(ProductRepository::class);
$this->warehouseRepository = $this->createMock(WarehouseRepository::class);
$this->stockRepository = $this->createMock(StockRepository::class);
$this->warehouseRepository = $this->createMock(WarehouseRepository::class);
$this->logger = $this->createMock(LoggerInterface::class);
$this->rootPath = '/';
$this->hiltesImport = new HiltesImport(
$this->productRepository,
$this->warehouseRepository,
$this->stockRepository,
$this->logger,
$this->rootPath
'/path/to/root'
);
}
public function testStartImportWithNoFiles()
public function testStartImportWithNoFiles(): void
{
$this->expectException(\RuntimeException::class);
$this->expectExceptionMessage('No Files to Import');
$this->hiltesImport->startImport();
$this->assertEquals([], $this->hiltesImport->startImport());
}
public function testStartImportWithFiles()
public function testStartImportWithFiles(): void
{
// Mock the getFiles method to return true
$hiltesImport = $this->getMockBuilder(HiltesImport::class)
@@ -55,44 +50,58 @@ class HiltesImportTest extends TestCase
$this->warehouseRepository,
$this->stockRepository,
$this->logger,
$this->rootPath
'/path/to/root'
])
->onlyMethods(['getFiles'])
->getMock();
$hiltesImport->method('getFiles')->willReturn(true);
$this->assertNull($hiltesImport->startImport());
$this->assertIsArray($hiltesImport->startImport());
}
public function testGetFilesWithNoResults()
public function testSaveDataWithInvalidData(): void
{
$this->assertFalse($this->hiltesImport->getFiles());
$this->assertFalse($this->hiltesImport->saveData([]));
}
public function testSaveDataWithNoWarehouse()
public function testSaveDataWithValidData(): void
{
$this->logger->expects($this->once())
->method('error')
->with('No Warehouse');
$this->productRepository->method('findOneBy')->willReturn(new Product());
$this->warehouseRepository->method('findOneBy')->willReturn(new Warehouse());
$this->assertFalse($this->hiltesImport->saveData(['product1', '100']));
$this->assertTrue($this->hiltesImport->saveData(['1234567890123', '100', '', 'Warehouse1']));
}
public function testSaveDataWithValidData()
public function testCheckProductWithExistingProduct(): void
{
$product = new Product();
$product->setGtin('1234567890123');
$this->productRepository->method('findOneBy')->willReturn($product);
$this->assertEquals($product->getId(), $this->hiltesImport->checkProduct('1234567890123'));
}
public function testCheckProductWithNewProduct(): void
{
$this->productRepository->method('findOneBy')->willReturn(null);
$this->assertNull($this->hiltesImport->checkProduct('1234567890123'));
}
public function testCheckWarehouseNameWithExistingWarehouse(): void
{
$warehouse = new Warehouse();
$warehouse->setName('Warehouse1');
$product = new Product();
$product->setGtin('product1');
$this->warehouseRepository->method('findOneBy')->willReturn($warehouse);
$this->productRepository->method('findOneBy')->willReturn($product);
$this->stockRepository->expects($this->once())
->method('save');
$this->assertEquals($warehouse, $this->hiltesImport->checkWarehouseName('Warehouse1'));
}
$this->assertTrue($this->hiltesImport->saveData(['product1', '100', '', 'Warehouse1']));
public function testCheckWarehouseNameWithNewWarehouse(): void
{
$this->warehouseRepository->method('findOneBy')->willReturn(null);
$this->assertInstanceOf(Warehouse::class, $this->hiltesImport->checkWarehouseName('Warehouse1'));
}
}