File tree Expand file tree Collapse file tree 2 files changed +62
-1
lines changed
Expand file tree Collapse file tree 2 files changed +62
-1
lines changed Original file line number Diff line number Diff line change 22
33namespace JustBetter \MagentoUtilities \Data ;
44
5+ use JustBetter \MagentoUtilities \Contracts \GetsWebsites ;
6+
57/**
68 * @property int $id
79 * @property string $code
1416 */
1517class Store extends Data
1618{
17- //
19+ public function website (): Website
20+ {
21+ /** @var GetsWebsites $contract */
22+ $ contract = app (GetsWebsites::class);
23+
24+ $ websites = $ contract ->get ();
25+
26+ return $ websites
27+ ->where ('id ' , '= ' , $ this ->website_id )
28+ ->firstOrFail ();
29+ }
1830}
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ namespace JustBetter \MagentoUtilities \Tests \Data ;
4+
5+ use Illuminate \Support \Facades \Http ;
6+ use JustBetter \MagentoClient \Client \Magento ;
7+ use JustBetter \MagentoUtilities \Data \Store ;
8+ use JustBetter \MagentoUtilities \Tests \TestCase ;
9+ use PHPUnit \Framework \Attributes \Test ;
10+
11+ class StoreTest extends TestCase
12+ {
13+ #[Test]
14+ public function it_can_get_website (): void
15+ {
16+ Magento::fake ();
17+
18+ Http::fake ([
19+ 'magento/rest/all/V1/store/websites ' => Http::response ([
20+ [
21+ 'id ' => 0 ,
22+ 'code ' => 'admin ' ,
23+ 'name ' => 'Admin ' ,
24+ 'default_group_id ' => 0 ,
25+ ],
26+ [
27+ 'id ' => 1 ,
28+ 'code ' => 'base ' ,
29+ 'name ' => 'Base ' ,
30+ 'default_group_id ' => 1 ,
31+ ],
32+ ]),
33+ ])->preventStrayRequests ();
34+
35+ $ store = Store::make ([
36+ 'id ' => 1 ,
37+ 'code ' => 'default ' ,
38+ 'name ' => 'Default ' ,
39+ 'website_id ' => 1 ,
40+ 'store_group_id ' => 1 ,
41+ 'is_active ' => 1 ,
42+ ]);
43+
44+ $ website = $ store ->website ();
45+
46+ $ this ->assertEquals (1 , $ website ->id );
47+ $ this ->assertEquals ('base ' , $ website ->code );
48+ }
49+ }
You can’t perform that action at this time.
0 commit comments