2
2
3
3
namespace DataKit \DataViews \Tests \ACL ;
4
4
5
- use DataKit \DataViews \ACL \Capability ;
5
+ use DataKit \DataViews \ACL \Capability \DeleteDataView ;
6
+ use DataKit \DataViews \ACL \Capability \EditDataView ;
7
+ use DataKit \DataViews \ACL \Capability \ViewDataView ;
8
+ use DataKit \DataViews \ACL \Capability \ViewField ;
6
9
use DataKit \DataViews \ACL \ReadOnlyAccessController ;
10
+ use DataKit \DataViews \Data \ArrayDataSource ;
11
+ use DataKit \DataViews \DataView \DataView ;
12
+ use DataKit \DataViews \Field \TextField ;
7
13
use PHPUnit \Framework \TestCase ;
8
14
9
15
/**
@@ -20,8 +26,12 @@ final class ReadOnlyAccessControllerTest extends TestCase {
20
26
public function test_controller (): void {
21
27
$ controller = new ReadOnlyAccessController ();
22
28
23
- self ::assertTrue ( $ controller ->can ( Capability::view_dataview () ) );
24
- self ::assertTrue ( $ controller ->can ( Capability::view_dataview_field () ) );
25
- self ::assertFalse ( $ controller ->can ( Capability::edit_dataview () ) );
29
+ $ field = TextField::create ( 'test ' , 'Test ' );
30
+ $ dataview = DataView::table ( 'test ' , new ArrayDataSource ( 'test ' , [] ), [ $ field ] );
31
+
32
+ self ::assertTrue ( $ controller ->can ( new ViewDataView ( $ dataview ) ) );
33
+ self ::assertFalse ( $ controller ->can ( new EditDataView ( $ dataview ) ) );
34
+ self ::assertFalse ( $ controller ->can ( new DeleteDataView ( $ dataview ) ) );
35
+ self ::assertTrue ( $ controller ->can ( new ViewField ( $ dataview , $ field ) ) );
26
36
}
27
37
}
0 commit comments