pest test , listagem
![murilo](https://academy.especializati.com.br/assets/site/imgs/no-image.png)
ola carlos tudo bem ?
quando vc faz o teste na listagem ?
por exemplo aqui que vc verificou alguns dados
```
assertJsonStructure([
'data' => [
'*' => ['id', 'name', 'email', 'permissions' => []]
],
'meta' => ['total', 'current_page', 'from', 'last_page', 'links' => [], 'path', 'per_page', 'to']
])
```
algumas listagens tem muitos itens na estrutura , escrever todos os itens as vezes da um pouco de trabalho , rsss .
to fazendo isso agora em um projeto meu aqui , kkk
vc costuma verificar a maioria dos itens em uma listagem ?
conhece algum script que transforma a listaem ja nesse formato ? ou vc costuma fazer mesmo na mão este processo de verificação dos itnes na listagem ?
achei esta funcao pra isto -
```
$json = '{"data":[{"id":"5687dd60-f0dd-46cc-a2f4-9f555c26d408","email":"[email protected]","status":"active","presentation":{"title":"Dana Pouros Nader ( repudiandae ) ","url_title":"dana-pouros-nader-repudiandae-6981377","description":"Neque et est ea deleniti rerum. Dolores quis et quia voluptatem non esse neque non.","url_website":"www.website.com","image_profile":null}}],"pagination":{"total":1,"per_page":20,"current_page":1,"last_page":1,"from":1,"to":1}}';
$array = json_decode($json, true);
function buildStructure(array $array) {
$structure = [];
foreach ($array as $key => $value) {
if (is_array($value)) {
if (array_keys($value) === range(0, count($value) - 1)) {
// Handle list of items
$structure[$key] = ['*' => buildStructure($value[0])];
} else {
// Handle associative array
$structure[$key] = buildStructure($value);
}
} else {
$structure[] = $key;
}
}
return $structure;
}
$structure = buildStructure($array);
print_r($structure);
![murilo](https://academy.especializati.com.br/assets/site/imgs/no-image.png)
Olá, Murilo!
Tudo bem?
Me desculpe a demora em te responder, normalmente não demoro tanto assim, é porque estou com muita demanda aqui.
algumas listagens tem muitos itens na estrutura , escrever todos os itens as vezes da um pouco de trabalho , rsss .
Sei que é verboso, trabalhoso, mas a ideia do teste é justamente essa, validar item a item, esse é o principio, porque se um dia mudar algo na aplicação, o teste precisa quebrar, pra indicar que o comportamento está diferente do esperado.
![Carlos Ferreira](https://storage.googleapis.com/eti-academy/users/carlos-ferreira.jpg)
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!