|
1 | 1 | <?php |
2 | 2 |
|
3 | | -beforeEach(function () { |
4 | | - getAPI(); |
5 | | -}); |
6 | | - |
7 | | -afterAll(function () { |
8 | | - destroyPestPhpSalesforceChanges(); |
9 | | -}); |
| 3 | +use Saloon\Http\Faking\MockClient; |
| 4 | +use Saloon\Http\Faking\MockResponse; |
10 | 5 |
|
11 | 6 | test('it can query folders', function () { |
12 | | - $reportApi = getAPI()->getReportApi(); |
| 7 | + $mockClient = new MockClient([ |
| 8 | + MockResponse::fixture('report/list_folders'), |
| 9 | + ]); |
| 10 | + $reportApi = getAPI($mockClient)->getReportApi(); |
13 | 11 | $folders = $reportApi->listFolders(); |
14 | 12 |
|
15 | 13 | expect($folders)->not()->toBeEmpty(); |
16 | 14 | }); |
17 | 15 |
|
18 | 16 | test('it can create report folder(s)', function () { |
19 | | - $temporaryName = 'PESTPHP'.bin2hex(random_bytes(10)); |
20 | | - $reportApi = getAPI()->getReportApi(); |
21 | | - $reportApi->createReportFolder($temporaryName); |
22 | | - $folder = $reportApi->recordsOnly()->getFolderByName($temporaryName); |
| 17 | + $mockClient = new MockClient([ |
| 18 | + MockResponse::fixture('report/create_report_folder'), |
| 19 | + MockResponse::fixture('report/get_report_folder'), |
| 20 | + ]); |
| 21 | + $reportApi = getAPI($mockClient)->getReportApi(); |
| 22 | + $reportApi->createReportFolder('PESTPHPTestFolder'); |
| 23 | + $folder = $reportApi->getFolderByName('PESTPHPTestFolder'); |
23 | 24 |
|
24 | 25 | expect($folder)->not()->toBeNull(); |
25 | | - expect($folder)->toHaveKey('Name', $temporaryName); |
| 26 | + expect($folder)->toHaveKey('Name', 'PESTPHPTestFolder'); |
26 | 27 | }); |
27 | 28 |
|
28 | 29 | test('it can create dashboard folder(s)', function () { |
29 | | - $temporaryName = 'PESTPHP'.bin2hex(random_bytes(10)); |
30 | | - $reportApi = getAPI()->getReportApi(); |
31 | | - $reportApi->createDashboardFolder($temporaryName); |
32 | | - $folder = $reportApi->recordsOnly()->getDashboardFolderByName($temporaryName); |
| 30 | + $mockClient = new MockClient([ |
| 31 | + MockResponse::fixture('report/create_dashboard_folder'), |
| 32 | + MockResponse::fixture('report/get_dashboard_folder'), |
| 33 | + ]); |
| 34 | + $reportApi = getAPI($mockClient)->getReportApi(); |
| 35 | + $reportApi->createDashboardFolder('PESTPHPDashFolder'); |
| 36 | + $folder = $reportApi->getDashboardFolderByName('PESTPHPDashFolder'); |
33 | 37 |
|
34 | 38 | expect($folder)->not()->toBeNull(); |
35 | 39 | }); |
36 | 40 |
|
37 | 41 | test('it can delete folder(s)', function () { |
38 | | - $temporaryName = 'PESTPHP'.bin2hex(random_bytes(10)); |
39 | | - $reportApi = getAPI()->getReportApi(); |
40 | | - $reportApi->createReportFolder($temporaryName); |
41 | | - $folder = $reportApi->recordsOnly()->getFolderByName($temporaryName); |
| 42 | + $mockClient = new MockClient([ |
| 43 | + MockResponse::fixture('report/create_folder_delete'), |
| 44 | + MockResponse::fixture('report/get_folder_delete'), |
| 45 | + MockResponse::fixture('report/delete_folder'), |
| 46 | + ]); |
| 47 | + $reportApi = getAPI($mockClient)->getReportApi(); |
| 48 | + $reportApi->createReportFolder('PESTPHPDeleteFolder'); |
| 49 | + $folder = $reportApi->getFolderByName('PESTPHPDeleteFolder'); |
42 | 50 |
|
43 | 51 | expect($folder)->not()->toBeNull(); |
44 | 52 |
|
45 | 53 | expect($reportApi->deleteFolder($folder['Id']))->toBe(true); |
46 | 54 | }); |
47 | 55 |
|
48 | 56 | test('it can find folders by name', function () { |
49 | | - $temporaryName = 'PESTPHP'.bin2hex(random_bytes(10)); |
50 | | - $reportApi = getAPI()->getReportApi(); |
51 | | - $reportApi->createReportFolder($temporaryName); |
52 | | - $folder = $reportApi->recordsOnly()->getFolderByName($temporaryName); |
53 | | - |
54 | | - expect($folder)->toHaveKey('Name', $temporaryName); |
| 57 | + $mockClient = new MockClient([ |
| 58 | + MockResponse::fixture('report/create_folder_find'), |
| 59 | + MockResponse::fixture('report/get_folder_find'), |
| 60 | + ]); |
| 61 | + $reportApi = getAPI($mockClient)->getReportApi(); |
| 62 | + $reportApi->createReportFolder('PESTPHPFindFolder'); |
| 63 | + $folder = $reportApi->getFolderByName('PESTPHPFindFolder'); |
| 64 | + |
| 65 | + expect($folder)->toHaveKey('Name', 'PESTPHPFindFolder'); |
55 | 66 | }); |
56 | 67 |
|
57 | 68 | test('it returns null when folders are not found', function () { |
58 | | - $reportApi = getAPI()->getReportApi(); |
59 | | - $foldersAvailable = $reportApi->recordsOnly()->getFolderByName('This is not a real folder'); |
| 69 | + $mockClient = new MockClient([ |
| 70 | + MockResponse::fixture('report/folder_not_found'), |
| 71 | + ]); |
| 72 | + $reportApi = getAPI($mockClient)->getReportApi(); |
| 73 | + $foldersAvailable = $reportApi->getFolderByName('This is not a real folder'); |
60 | 74 |
|
61 | 75 | expect($foldersAvailable)->toBeNull(); |
62 | 76 | }); |
63 | 77 |
|
64 | 78 | test('it can find reports', function () { |
65 | | - $reportApi = getAPI()->getReportApi(); |
66 | | - $reports = $reportApi->recordsOnly()->listReports(); |
| 79 | + $mockClient = new MockClient([ |
| 80 | + MockResponse::fixture('report/list_reports'), |
| 81 | + ]); |
| 82 | + $reportApi = getAPI($mockClient)->getReportApi(); |
| 83 | + $reports = $reportApi->listReports(); |
67 | 84 |
|
68 | 85 | // Just verify the API returns an array (scratch org may not have reports) |
69 | 86 | expect($reports)->toBeArray(); |
70 | 87 | }); |
71 | 88 |
|
72 | 89 | test('it returns null when a report cannot be found', function () { |
73 | | - $reportApi = getAPI()->getReportApi(); |
74 | | - $report = $reportApi->recordsOnly()->getReportByName('Games Done Quick 2020'); |
| 90 | + $mockClient = new MockClient([ |
| 91 | + MockResponse::fixture('report/report_not_found'), |
| 92 | + ]); |
| 93 | + $reportApi = getAPI($mockClient)->getReportApi(); |
| 94 | + $report = $reportApi->getReportByName('Games Done Quick 2020'); |
75 | 95 |
|
76 | 96 | expect($report)->toBeNull(); |
77 | 97 | }); |
78 | 98 |
|
79 | 99 | test('it can create a folder for dashboards', function () { |
80 | | - $temporaryName = 'PESTPHP'.bin2hex(random_bytes(10)); |
81 | | - $reportApi = getAPI()->getReportApi(); |
82 | | - $reportApi->createDashboardFolder($temporaryName); |
83 | | - $folder = $reportApi->recordsOnly()->getDashboardFolderByName($temporaryName); |
| 100 | + $mockClient = new MockClient([ |
| 101 | + MockResponse::fixture('report/create_dash_folder2'), |
| 102 | + MockResponse::fixture('report/get_dash_folder2'), |
| 103 | + ]); |
| 104 | + $reportApi = getAPI($mockClient)->getReportApi(); |
| 105 | + $reportApi->createDashboardFolder('PESTPHPDashFolder2'); |
| 106 | + $folder = $reportApi->getDashboardFolderByName('PESTPHPDashFolder2'); |
84 | 107 |
|
85 | 108 | expect($folder)->not()->toBe(null); |
86 | 109 | }); |
87 | 110 |
|
88 | 111 | test('it can get a list of dashboards', function () { |
89 | | - $reportApi = getAPI()->getReportApi(); |
90 | | - $dashboards = $reportApi->recordsOnly()->listDashboards(); |
| 112 | + $mockClient = new MockClient([ |
| 113 | + MockResponse::fixture('report/list_dashboards'), |
| 114 | + ]); |
| 115 | + $reportApi = getAPI($mockClient)->getReportApi(); |
| 116 | + $dashboards = $reportApi->listDashboards(); |
91 | 117 |
|
92 | 118 | // Just verify the API returns an array (scratch org may not have dashboards) |
93 | 119 | expect($dashboards)->toBeArray(); |
|
0 commit comments