These are chat archives for LaravelRUS/chat

1st
Dec 2017
am0nshi
@am0nshi
Dec 01 2017 12:14
срааааач!) дибрий динь
alexspi
@alexspi
Dec 01 2017 12:19
да какой это срач, так ворчание, стареет наш Артёмка )))
am0nshi
@am0nshi
Dec 01 2017 12:25
=))

вопрос на плюсик в карму :) есть обработчик события успешного логина кастомера, у него в аргументе прописан реквест:

    protected function authenticated(Request $request, $user)
    {
        dump(request()->all());
        dump($_POST);
...
    }

выводят соответственно:

"email" => "test@some"
 "password" => "pass"
  "submit" => "Login"

и

  "email" => "test@some"
  "password" => "pass"
  "submit" => "Login"
  "timezone" => "Europe/Kiev"
  "csrf" => "eyJpdiI6IlZTQmRcL01rZ2FQVnhUUUV3aWJYM0hRPT0iLCJ2YWx1ZSI6IlVZVTZWNjloM2xGV3J6RzI4VDhiXC9QcitHckhqRTNtTTNxNzRQSm50aVhjaExcLzRuWmM2bU1iYzFhWjdoOTU5Z0htR014b0pidWpl ▶"

Внимание вопрос, где потерялась переменная с таймзоной, если форм реквеста нигде по пути нет?

alexspi
@alexspi
Dec 01 2017 12:31
@am0nshi а ты уверен что ты его передаёшь?
am0nshi
@am0nshi
Dec 01 2017 12:32
ну он же в сырой $_POSTпопадает
момент
alexspi
@alexspi
Dec 01 2017 12:34
а dump($user)
am0nshi
@am0nshi
Dec 01 2017 12:35
@alexspi пасиб, нашел 1 зажопное место, где у них "фильтр"
KarmaBot
@KarmaBot
Dec 01 2017 12:35
Спасибо (+1) для @alexspi принято! Текущая карма +41.
Fector
@Fector
Dec 01 2017 12:51

Господа я прочитал документацию и понял что дурак. Если у нас есть роут /posts/update/{$id} который ссылается на метод create контроллера post, то сигнатура экшена должны быть такой

public function update(Request $request, $id)

однако я сгенерировал контроллер с ресурсом и привязкой к модели и получил

public function update(Request $request, Post $post)

почему фреймворк переобулся в воздухе и как он меняет поведение в зависимости от параметра? Или я не внимателен?

am0nshi
@am0nshi
Dec 01 2017 12:58
@Fector "и понял что дурак" - похвально :)
@Fector https://laravel.com/docs/5.5/container#automatic-injection тут конкретно твой случай
Fector
@Fector
Dec 01 2017 13:00
@am0nshi спасибо, изучу и образумлюсь
am0nshi
@am0nshi
Dec 01 2017 13:00
а мне бот спасибку зажал :D неправильная она у тебя какая-то))
Fector
@Fector
Dec 01 2017 13:01
@am0nshi спасибо
видимо тебе не судьба
Fector
@Fector
Dec 01 2017 13:28

Коллеги, мастера контейнеров и прочей магии, нужна ваша помощь. Хочу покрыть модульными тестами api, открыл документацию почитал и пошел ваять. В роутере сформированна группа и прикручен к группе мидлвар jwt.auth

public function testJеdiTest()
    {
        $response = $this->withoutMiddleware(['jwt.auth'])->get('/post');

        $response->assertStatus(200);
    }

не работает, приходит 401 - значит надо вырубить все

public function testJеdiTest()
    {
        $response = $this->withoutMiddleware()->get('/post');

        $response->assertStatus(200);
    }

не работает, приходит 401 - значит надо попробовать подсунуть заголовок из постмена в котором все работает

public function testJеdiApi()
    {
        $response = $this->withHeaders([
            'Authorization' => 'Bearer токен который получил вручную в постмане'
        ])->get('/post');

        $response->assertStatus(200);
    }

и тоже 401. Также пробовал через actingAs как в документации, но уже не хчоется пример кидать. Что делать с этим jwt.auth и как написать четкие пацанские тесты?

Fector
@Fector
Dec 01 2017 13:37
@am0nshi ты не в теме?
Uladimir Sadkou
@GaintVlad
Dec 01 2017 14:43
Всем. Привет.
Может у кого было. Магазин с поздней авторизацией.
Пользователь имеет доступ к большинству роутов. НО когда он отправляет post запрос add_to_cart AJAX-м, контроллер в _constractor возвращает "неавторизован". AJAX получает ошибку и редиректит на login. Все бы хорошо, но после того, как пользователь залогинился, хотелось бы повторить post запрос.
Как это можно реализовать?
Nikita
@xenmayer
Dec 01 2017 14:59
@GaintVlad Как вариант изменить поведение мидлвари для этого роута, дальше логика такая: неаутентифицированным сохранять корзину в куки, после аутентификации синхронизировать корзину с базой.
Andrey
@daaner
Dec 01 2017 15:15
@xenmayer точно так же делаю
@xenmayer а если в корзине уже что-то лежит как ты делаешь? дописываешь что было или трешь, чтоб было похоже на корзину из кук?
Nikita
@xenmayer
Dec 01 2017 16:47
@Daaner этот вопрос скорее к маркетологам и сейлзам. Мне нравится подход алиэксперес, он добавляет к корзине пользователя. Видел примеры разного поведения.