1.3. Zmodyfikuj pipeline.sh, tak by już nie uruchamiał dodatkowych testów z tą flagą.
1.4. Usuń test ProductLookupControllerTest::testControllerReturnsValidResponseWithRecommendationsDisabled
1.5. Zmodyfikuj test ProductLookupControllerTest::testControllerReturnsValidResponseWithRecommendationsEnabled usuwając warunek pomijający test w zależności od flagi.
1.6. Usuń test ProductImpressionMiddlewareTest::testControllerReturnsValidResponseWithRecommendationsDisabled
1.7. Zmodyfikuj test ProductImpressionMiddlewareTest::testControllerReturnsValidResponseWithRecommendationsEnabled usuwając warunek pomijający test w zależności od flagi.
1.8. Zmodyfikuj main/src/Products/ProductLookupController.php, by zamiast warstwy abstrakcji używać ProductLookupWithRecommendationsDataProvider.
<?phpnamespaceTbd\Main\Products;usePsr\Http\Message\ServerRequestInterface;useReact\Http\Message\Response;useTbd\Main\Recommendations\RecommendationsServiceInterface;classProductLookupController{private$repository;privateProductLookupDataProviderInterface$dataProvider;publicfunction__construct(ProductRepositoryInterface$repository,RecommendationsServiceInterface$recommendationsService){$this->repository=$repository;$this->dataProvider=newProductLookupWithRecommendationsDataProvider($recommendationsService);}publicfunction__invoke(ServerRequestInterface$request){$id=$request->getAttribute('id');$product=$this->repository->findProduct($id);if($product===null){returnResponse::plaintext("Product not found\n")->withStatus(Response::STATUS_NOT_FOUND);}$data=$this->getDataProvider()->getData($product);returnResponse::json($data);}publicfunctiongetDataProvider():ProductLookupDataProviderInterface{return$this->dataProvider;}}