Anuncio

Entra a participar en el Slack de Laraveles. Solicita tu invitación aquí.
Nos ayuda a manter la comunidad

#1 10/08/2018 11:32:19

Mark182
Miembro
Registrado: 08/08/2014
Mensajes: 87

Separando funcionalidades en metodo

Buenas laravelos, como están?

Estoy desarrollando una web utilizando TDD y estoy intentando probar el metodo store() de mi controller PostController.
El problema con este metodo es que estoy haciendo muchas cosas en él: Guardo el post, Guardo las imagenes del post, Guardo los tags del post, de esta forma:

    public function store(PostsRequest $request)
    {
        try {
            // Get data from request
            $data = $request->all();

            // Create post
            $post = Post::create($data);

            // Add tags
            if ($request->has('tags')) {
                $post->tag($request->tags);
            }

            // Upload Image
            $image = $request->file('image');
            $post->addMedia($image)
                ->usingName($image->getClientOriginalName())
                ->toMediaCollection('imagen-post');

            return redirect()->route('editor.posts.edit', $post)->withSuccess(__('posts.created'));
        } catch (\Exception $e) {
            return redirect()->back()->withErrors(['errors' => $e->getMessage()]);
        }
    }

Me gustaría que estas funcionalidades estén separadas (o abstraídas, nose como seria) para poder testearlas por separada.

Ayuda por favor!
Espero que quede claro. Cualquier cosa me preguntan.
Gracias!

Desconectado

#2 13/08/2018 14:43:31

hheredia
Administrador
Localidad: this.location
Registrado: 16/06/2014
Mensajes: 1.408
Sitio web

Re: Separando funcionalidades en metodo

Lo primero es que encapsules las operaciones que estas haciendo sobre post y luego las pruebes aparte, es solo crear una prueba de unidad


Saludos!.
Well, there is in fact a single purpose for all software: To help people

Desconectado

Pié de página <- REVISAR ->

Powered by FluxBB

Ayuda a mantener la comunidad: