56 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
| <?php
 | |
| 
 | |
| namespace Zoomyboy\LaravelNami\Tests\Unit;
 | |
| 
 | |
| use Zoomyboy\LaravelNami\Nami;
 | |
| use Zoomyboy\LaravelNami\Tests\TestCase;
 | |
| use Illuminate\Support\Facades\Http;
 | |
| use Illuminate\Support\Facades\Config;
 | |
| use Zoomyboy\LaravelNami\NamiServiceProvider;
 | |
| use Zoomyboy\LaravelNami\LoginException;
 | |
| use Zoomyboy\LaravelNami\Group;
 | |
| 
 | |
| class PullActivitiesTest extends TestCase
 | |
| {
 | |
| 
 | |
|     public $groupsResponse = '{"success":true,"data":[{"descriptor":"Group","name":"","representedClass":"de.iconcept.nami.entity.org.Gruppierung","id":103}],"responseType":"OK"}';
 | |
| 
 | |
|     public function test_get_all_activities() {
 | |
|         Http::fake(array_merge($this->login(),[
 | |
|             'https://nami.dpsg.de/ica/rest/nami/gruppierungen/filtered-for-navigation/gruppierung/node/root' => Http::response($this->groupsResponse, 200),
 | |
|             'https://nami.dpsg.de/ica/rest/nami/taetigkeitaufgruppierung/filtered/gruppierung/gruppierung/103' => Http::response($this->fakeJson('activities.json'), 200)
 | |
|         ]));
 | |
| 
 | |
|         $this->setCredentials();
 | |
| 
 | |
|         Nami::login();
 | |
| 
 | |
|         $this->assertSame([
 | |
|             [ 'name' => 'Ac1', 'id' => 4 ],
 | |
|             [ 'name' => 'Ac2', 'id' => 3 ]
 | |
|         ], Nami::group(103)->activities()->toArray());
 | |
| 
 | |
|         Http::assertSentCount(4);
 | |
|     }
 | |
| 
 | |
|     public function test_get_all_subactivities() {
 | |
|         Http::fake(array_merge($this->login(),[
 | |
|             'https://nami.dpsg.de/ica/rest/nami/gruppierungen/filtered-for-navigation/gruppierung/node/root' => Http::response($this->groupsResponse, 200),
 | |
|             'https://nami.dpsg.de/ica/rest/nami/taetigkeitaufgruppierung/filtered/gruppierung/gruppierung/103' => Http::response($this->fakeJson('activities.json'), 200),
 | |
|             'https://nami.dpsg.de/ica/rest/nami/untergliederungauftaetigkeit/filtered/untergliederung/taetigkeit/4' => Http::response($this->fakeJson('subactivities-4.json'), 200)
 | |
|         ]));
 | |
| 
 | |
|         $this->setCredentials();
 | |
| 
 | |
|         Nami::login();
 | |
| 
 | |
|         $this->assertSame([
 | |
|             [ 'name' => 'Biber', 'id' => 40 ],
 | |
|             [ 'name' => 'Wölfling', 'id' => 30 ]
 | |
|         ], Nami::group(103)->activities()->first()->subactivities()->toArray());
 | |
|         
 | |
|         Http::assertSentCount(5);
 | |
|     }
 | |
| 
 | |
| }
 |