1+ <?php
2+
3+ namespace Yajra \DataTables \Html \Tests ;
4+
5+ use Yajra \DataTables \Html \Editor \Fields ;
6+ use Yajra \DataTables \Html \Tests \Models \User ;
7+
8+ class FieldTest extends TestCase
9+ {
10+ /** @test */
11+ public function it_can_create_a_field ()
12+ {
13+ $ field = Fields \Field::make ('name ' );
14+
15+ $ this ->assertInstanceOf (Fields \Field::class, $ field );
16+ $ this ->assertEquals ('Name ' , $ field ->label );
17+ $ this ->assertEquals ('name ' , $ field ->name );
18+ $ this ->assertEquals ('text ' , $ field ->getType ());
19+ }
20+
21+ /** @test */
22+ public function it_can_set_properties ()
23+ {
24+ $ field = Fields \Field::make ('name ' );
25+
26+ $ field ->label ('Test ' );
27+ $ field ->name ('Test ' );
28+ $ field ->data ('Test ' );
29+ $ field ->type ('Test ' );
30+
31+ $ this ->assertEquals ('Test ' , $ field ->label );
32+ $ this ->assertEquals ('Test ' , $ field ->name );
33+ $ this ->assertEquals ('Test ' , $ field ->data );
34+ $ this ->assertEquals ('Test ' , $ field ->getType ());
35+ }
36+
37+ /** @test */
38+ public function it_can_create_belongs_to_field ()
39+ {
40+ $ field = Fields \BelongsTo::model (User::class, 'name ' );
41+ $ this ->assertInstanceOf (Fields \BelongsTo::class, $ field );
42+ $ this ->assertEquals ('select ' , $ field ->getType ());
43+ $ this ->assertEquals ('user_id ' , $ field ->name );
44+ $ this ->assertEquals ('User ' , $ field ->label );
45+ }
46+
47+ /** @test */
48+ public function it_can_create_boolean_field ()
49+ {
50+ $ field = Fields \Boolean::make ('name ' );
51+ $ this ->assertInstanceOf (Fields \Boolean::class, $ field );
52+ $ this ->assertEquals ('checkbox ' , $ field ->getType ());
53+ $ this ->assertEquals ('name ' , $ field ->name );
54+ $ this ->assertEquals ('Name ' , $ field ->label );
55+ $ this ->assertEquals (', ' , $ field ->separator );
56+ $ this ->assertEquals ([['label ' => '' , 'value ' => 1 ]], $ field ->options );
57+ }
58+
59+ /** @test */
60+ public function it_can_create_date_field ()
61+ {
62+ $ field = Fields \Date::make ('name ' );
63+ $ this ->assertInstanceOf (Fields \Date::class, $ field );
64+ $ this ->assertEquals ('datetime ' , $ field ->getType ());
65+ $ this ->assertEquals ('name ' , $ field ->name );
66+ $ this ->assertEquals ('Name ' , $ field ->label );
67+ $ this ->assertEquals ('YYYY-MM-DD ' , $ field ->format );
68+ }
69+
70+ /** @test */
71+ public function it_can_create_datetime_field ()
72+ {
73+ $ field = Fields \DateTime::make ('name ' );
74+ $ this ->assertInstanceOf (Fields \DateTime::class, $ field );
75+ $ this ->assertEquals ('datetime ' , $ field ->getType ());
76+ $ this ->assertEquals ('name ' , $ field ->name );
77+ $ this ->assertEquals ('Name ' , $ field ->label );
78+ $ this ->assertEquals ('YYYY-MM-DD hh:mm a ' , $ field ->format );
79+
80+ $ field ->military ();
81+ $ this ->assertEquals ('YYYY-MM-DD HH:mm ' , $ field ->format );
82+
83+ $ min = now ();
84+ $ field ->minDate ($ min );
85+ $ date = $ min ->format ('Y-m-d ' );
86+ $ this ->assertEquals ("new Date(' $ date') " , $ field ->opts ['minDate ' ]);
87+
88+ $ max = now ();
89+ $ field ->maxDate ($ max );
90+ $ date = $ max ->format ('Y-m-d ' );
91+ $ this ->assertEquals ("new Date(' $ date') " , $ field ->opts ['maxDate ' ]);
92+
93+ $ field ->showWeekNumber (false );
94+ $ this ->assertEquals (false , $ field ->opts ['showWeekNumber ' ]);
95+
96+ $ field ->disableDays ([1 , 2 , 3 ]);
97+ $ this ->assertEquals ([1 , 2 , 3 ], $ field ->opts ['disableDays ' ]);
98+
99+ $ field ->minutesIncrement (2 );
100+ $ this ->assertEquals (2 , $ field ->opts ['minutesIncrement ' ]);
101+
102+ $ field ->secondsIncrement (2 );
103+ $ this ->assertEquals (2 , $ field ->opts ['secondsIncrement ' ]);
104+
105+ $ field ->hoursAvailable ([1 , 2 ]);
106+ $ this ->assertEquals ([1 , 2 ], $ field ->opts ['hoursAvailable ' ]);
107+
108+ $ field ->minutesAvailable ([1 , 2 ]);
109+ $ this ->assertEquals ([1 , 2 ], $ field ->opts ['minutesAvailable ' ]);
110+ }
111+
112+ /** @test */
113+ public function it_can_create_text_field ()
114+ {
115+ $ field = Fields \Text::make ('name ' );
116+ $ this ->assertInstanceOf (Fields \Text::class, $ field );
117+ $ this ->assertEquals ('text ' , $ field ->getType ());
118+ }
119+
120+ /** @test */
121+ public function it_can_create_select_field ()
122+ {
123+ $ field = Fields \Select::make ('name ' );
124+ $ this ->assertInstanceOf (Fields \Select::class, $ field );
125+ $ this ->assertEquals ('select ' , $ field ->getType ());
126+ }
127+
128+ /** @test */
129+ public function it_can_create_select2_field ()
130+ {
131+ $ field = Fields \Select2::make ('name ' );
132+ $ this ->assertInstanceOf (Fields \Select2::class, $ field );
133+ $ this ->assertEquals ('select2 ' , $ field ->getType ());
134+ }
135+
136+
137+ }
0 commit comments