• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

conedevelopment / bazar / 20711560603

05 Jan 2026 09:51AM UTC coverage: 80.486% (+12.2%) from 68.28%
20711560603

push

github

iamgergo
wip

15 of 20 new or added lines in 2 files covered. (75.0%)

1988 of 2470 relevant lines covered (80.49%)

37.41 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

84.44
/src/Resources/OrderResource.php
1
<?php
2

3
declare(strict_types=1);
4

5
namespace Cone\Bazar\Resources;
6

7
use Cone\Bazar\Actions\SendOrderDetails;
8
use Cone\Bazar\Bazar;
9
use Cone\Bazar\Fields\Address;
10
use Cone\Bazar\Fields\Items;
11
use Cone\Bazar\Fields\OrderStatus;
12
use Cone\Bazar\Fields\Transactions;
13
use Cone\Bazar\Models\Order;
14
use Cone\Bazar\Widgets\OrdersCount;
15
use Cone\Root\Fields\BelongsTo;
16
use Cone\Root\Fields\Date;
17
use Cone\Root\Fields\ID;
18
use Cone\Root\Fields\Select;
19
use Cone\Root\Fields\Text;
20
use Cone\Root\Resources\Resource;
21
use Illuminate\Http\Request;
22

23
class OrderResource extends Resource
24
{
25
    /**
26
     * The model class.
27
     */
28
    protected string $model = Order::class;
29

30
    /**
31
     * The group for the resource.
32
     */
33
    protected string $group = 'Shop';
34

35
    /**
36
     * The relations to eager load on every query.
37
     */
38
    protected array $with = [
39
        'coupons',
40
        'discounts',
41
        'items.buyable.metaData',
42
        'items.buyable',
43
        'items.discounts',
44
        'items.taxes',
45
        'items',
46
        'transactions',
47
        'user',
48
    ];
49

50
    /**
51
     * Get the model for the resource.
52
     */
53
    public function getModel(): string
101✔
54
    {
55
        return $this->model::getProxiedClass();
101✔
56
    }
57

58
    /**
59
     * Define the fields.
60
     */
61
    public function fields(Request $request): array
101✔
62
    {
63
        return [
101✔
64
            ID::make(),
101✔
65

66
            BelongsTo::make(__('Customer'), 'user')
101✔
67
                ->display('name')
101✔
68
                ->async()
101✔
69
                ->sortable(column: 'name')
101✔
70
                ->searchable(columns: ['name', 'email']),
101✔
71

72
            Select::make(__('Currency'), 'currency')
101✔
73
                ->options(static function (Request $request, Order $model): array {
101✔
74
                    return array_merge(
×
75
                        array_column(Bazar::getCurrencies(), 'name', 'value'),
×
76
                        [$model->currency->value => $model->currency->name]
×
77
                    );
×
78
                })
101✔
79
                ->hiddenOn(['index']),
101✔
80

81
            Text::make(__('Tax'), static function (Request $request, Order $model): string {
101✔
NEW
82
                return $model->getFormattedTax();
×
83
            }),
101✔
84

85
            Text::make(__('Discount'), static function (Request $request, Order $model): string {
101✔
NEW
86
                return $model->getFormattedDiscountTotal();
×
87
            }),
101✔
88

89
            Text::make(__('Total'), static function (Request $request, Order $model): string {
101✔
NEW
90
                return $model->getFormattedTotal();
×
91
            }),
101✔
92

93
            OrderStatus::make(),
101✔
94

95
            Address::make(__('Billing Details'))
101✔
96
                ->hiddenOn('index'),
101✔
97

98
            Date::make(__('Created At'), 'created_at')
101✔
99
                ->withTime()
101✔
100
                ->hiddenOn(['edit', 'create'])
101✔
101
                ->sortable(),
101✔
102

103
            Items::make(),
101✔
104

105
            Transactions::make(),
101✔
106
        ];
101✔
107
    }
108

109
    /**
110
     * {@inheritdoc}
111
     */
112
    public function actions(Request $request): array
101✔
113
    {
114
        return [
101✔
115
            new SendOrderDetails,
101✔
116
        ];
101✔
117
    }
118

119
    /**
120
     * {@inheritdoc}
121
     */
122
    public function widgets(Request $request): array
101✔
123
    {
124
        return [
101✔
125
            new OrdersCount,
101✔
126
        ];
101✔
127
    }
128
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc