मैं उस प्रोजेक्ट के लिए कुछ यूनिट परीक्षण लिख रहा हूं जिस पर मैं काम कर रहा हूं और मैं लॉग इन उपयोगकर्ता के रूप में पोस्टिंग का परीक्षण नहीं कर सकता।

मैंने env फ़ाइल में एक बियरर टोकन जोड़ने का प्रयास किया है, यह मेरी मशीन पर काम करता है, लेकिन धक्का देने के बाद परीक्षण चलाने वाले दोस्तों के साथ विफल रहता है।

 public function test_orders_route_authenticated_user () {

        $data =
            '{
                "orderID": "001241",
                "sku": "123456",
                "quantity": 9,
                "pricePerUnit": 78,
                "priceTotal": 702
            }';

        $this->user = factory(User::class)->create();;

        //dd($user);
        $response = $this->withHeaders([
            'Authorization'=>'MPBtsJN5qf',
            ])->json('POST', 'api/products',[
                $data
            ]);

        $response->assertStatus(200);

}

तो यह कोड मुझे त्रुटि 500 ​​देता है। मैं त्रुटि 401 और 500 प्राप्त करने में कामयाब रहा, लेकिन कभी भी इच्छित स्थिति 200 नहीं। कृपया मदद करें

0
CMHayden 22 जुलाई 2019, 16:12

2 जवाब

सबसे बढ़िया उत्तर

जैसा कि पासपोर्ट दस्तावेज़ों में बताया गया है, आप Passport::actingAs(...) का इस्तेमाल कर सकते हैं:

public function test_orders_route_authenticated_user()
{
    Passport::actingAs(
        factory(User::class)->create()
    );

    $data = [
        'orderID'      => '001241',
        'sku'          => '123456',
        'quantity'     => 9,
        'pricePerUnit' => 78,
        'priceTotal'   => 702,
    ];

    $this->json('post', 'api/products', $data)->assertStatus(200);
}
2
Rwd 22 जुलाई 2019, 16:21

आपको अपने रूट पर jwt auth लागू करना चाहिए जैसे:

Route::group(['middleware' => 'jwt.auth'], function () {
  Route::get('/index','IndexController@index');

});
1
AddWeb Solution Pvt Ltd 22 जुलाई 2019, 16:15