Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
87.50% covered (warning)
87.50%
7 / 8
80.00% covered (warning)
80.00%
4 / 5
CRAP
0.00% covered (danger)
0.00%
0 / 1
MimSmsChannel
87.50% covered (warning)
87.50%
7 / 8
80.00% covered (warning)
80.00%
4 / 5
5.05
0.00% covered (danger)
0.00%
0 / 1
 key
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 label
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 configSchema
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
1 / 1
1
 send
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 isImplemented
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3namespace App\Services\Notification\Channels;
4
5use App\Services\Notification\Contracts\NotificationChannelContract;
6
7/**
8 * Scaffolded, not wired to a real send yet — same reasoning as the payment
9 * gateway drivers in this position (NagadDriver etc.): no confidently-known,
10 * currently-accurate API contract for MiMSMS. Config schema/settings card
11 * exist so the registry is complete; send() refuses until someone
12 * integrates it against MiMSMS's current merchant docs.
13 */
14class MimSmsChannel implements NotificationChannelContract
15{
16    public function key(): string
17    {
18        return 'mimsms';
19    }
20
21    public function label(): string
22    {
23        return 'SMS — MiMSMS';
24    }
25
26    public function configSchema(): array
27    {
28        return [
29            'api_key' => ['type' => 'password', 'label' => 'API Key', 'required' => true],
30            'sender_id' => ['type' => 'text', 'label' => 'Sender ID', 'required' => true],
31        ];
32    }
33
34    public function send(string $to, string $subject, string $body, array $config): array
35    {
36        return ['ok' => false, 'response' => "MiMSMS isn't finished yet — needs the operator's real API docs and a live test before it can send."];
37    }
38
39    public function isImplemented(): bool
40    {
41        return false;
42    }
43}