/** * @test */ public function doNotInsertWhenValuesAreadyExist() { $countryMap = new CountryMap(); $service = new DatacenterService($this->dao, $countryMap); $service->insertValues($this->inputFile, 1, 1, 1, 1, 1); $dataParam = new DataParam(1, 1, 1, 1, 1, 1); $this->assertEquals(2, $service->getValuesWithSimpleFilter($dataParam)->count()); $this->emptyDatabase(); $file = __DIR__ . "/Teste.xls"; $this->spreadsheetReader = new Spreadsheet_Excel_Reader($file); $this->inputFile->setNewSpreadsheet($this->spreadsheetReader); $service->insertValues($this->inputFile, 1, 1, 1, 1, 1); $dataParam_2 = new DataParam(1, 1, 1, 1, 1, 1); $this->assertEquals(4, $service->getValuesWithSimpleFilter($dataParam_2)->count()); }
/** * @test */ public function serviceInsertionTest() { $excelInputFile = $this->mockExcelInputFile(); $data = new ArrayObject(); $this->repository->expects($this->any())->method("save")->will($this->returnValue(true)); $list = new ArrayObject(); $list->append($this->buildData(1990, 222)); $list->append($this->buildData(1991, 2432)); $list->append($this->buildData(1992, 453)); //$list->append($this->buildData(1993, 234)); $this->repository->expects($this->any())->method('getValuesWithSimpleFilter')->will($this->returnValue($list->getIterator())); $this->service = new DatacenterService($this->repository, new CountryMap()); $subgroup = $destiny = $type = $variety = $font = 1; $this->assertTrue($this->service->insertValues($excelInputFile, $subgroup, $destiny, $type, $variety, $font)); }
public function saveValues(ExcelInputFile $excelInputFile, $subgroup, $font, $origin, $destiny, $coffeType, $variety, $typeCountry = null, $internationalTrade = false) { if (SessionAdmin::isLogged()) { CacheCountry::setCacheBehavior(SessionAdmin::getCacheBehavior()); try { if (!is_null($typeCountry)) { $countries = $excelInputFile->getValuesOfColumn(1); $wrongSelected = $this->countriesSelectedAreCorrect($typeCountry, $countries); if (sizeof($wrongSelected) > 0) { $nameOfWrongCountries = $this->countriesAsString($wrongSelected); $message = "- Os seguintes países presentes na planilha (" . utf8_encode($nameOfWrongCountries) . ") não correspondem ao grupo que você selecionou."; $message .= "\n\n"; $message .= "\t- Confirme se os países existem na lista (origem ou destino) que você selecionou;"; $message .= "\n\n"; $message .= "\t- Verifique se falta acentuação no nome do país da planinha selecionada."; $message .= "\n\n"; $message .= "\t- Também certifique-se de que os nomes dos países estejam em português e sem abreviações"; throw new WrongFormatException($message); } } if ($this->datacenterService->insertValues($excelInputFile, $subgroup, $origin, $destiny, $coffeType, $variety, $font, $typeCountry, $internationalTrade)) { return $this->jsonResponse->response(true, "Dados inseridos com sucesso!")->serialize(); } else { $message = "Dados não inseridos. Verifique a possibilidade de já existirem dados referentes a esta planilha"; return $this->jsonResponse->response(true, $message)->serialize(); } } catch (Exception $e) { return $this->jsonResponse->response(false, $e->getMessage())->serialize(); } } else { throw new LoginException(); } }