mirror of
				https://github.com/crater-invoice/crater.git
				synced 2025-10-31 05:31:10 -04:00 
			
		
		
		
	init crater
This commit is contained in:
		
							
								
								
									
										220
									
								
								tests/Feature/CompanySettingTest.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										220
									
								
								tests/Feature/CompanySettingTest.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,220 @@ | ||||
| <?php | ||||
| namespace Tests\Feature; | ||||
|  | ||||
| use Tests\TestCase; | ||||
| use Illuminate\Foundation\Testing\WithFaker; | ||||
| use Illuminate\Foundation\Testing\RefreshDatabase; | ||||
| use Laraspace\User; | ||||
| use Laravel\Passport\Passport; | ||||
| use SettingsSeeder; | ||||
|  | ||||
| class CompanySettingTest extends TestCase | ||||
| { | ||||
|     use RefreshDatabase; | ||||
|  | ||||
|     protected $user; | ||||
|  | ||||
|     public function setUp(): void | ||||
|     { | ||||
|         parent::setUp(); | ||||
|         $this->seed(); | ||||
|         $this->seed(SettingsSeeder::class); | ||||
|         $user = User::find(1); | ||||
|         $this->withHeaders([ | ||||
|             'company' => $user->company_id, | ||||
|         ]); | ||||
|         Passport::actingAs( | ||||
|             $user, | ||||
|             ['*'] | ||||
|         ); | ||||
|     } | ||||
|  | ||||
|     /** @test */ | ||||
|     public function testGetProfile() | ||||
|     { | ||||
|         $response = $this->json('GET', 'api/settings/profile'); | ||||
|  | ||||
|         $response->assertOk(); | ||||
|     } | ||||
|  | ||||
|     /** @test */ | ||||
|     public function testUpdateProfile() | ||||
|     { | ||||
|         $user = [ | ||||
|             'name' => 'John Doe', | ||||
|             'password' => 'admin@123', | ||||
|             'email' => 'admin@crater.in' | ||||
|         ]; | ||||
|  | ||||
|         $response = $this->json('PUT', 'api/settings/profile', $user); | ||||
|  | ||||
|         $response->assertOk(); | ||||
|     } | ||||
|  | ||||
|     /** @test */ | ||||
|     public function testGetUpdateCompanyDetails() | ||||
|     { | ||||
|         $response = $this->json('GET', 'api/settings/company'); | ||||
|  | ||||
|         $response->assertOk(); | ||||
|     } | ||||
|  | ||||
|     /** @test */ | ||||
|     public function testUpdateCompany() | ||||
|     { | ||||
|         $company = [ | ||||
|             'name' => 'XYZ', | ||||
|             'country_id' => 2, | ||||
|             'state_id' => 3, | ||||
|             'city_id' => 4, | ||||
|             'address_street_1' => 'test1', | ||||
|             'address_street_2' => 'test2', | ||||
|             'phone' => '1234567890', | ||||
|             'zip' => '112233' | ||||
|         ]; | ||||
|  | ||||
|         $response = $this->json('POST', 'api/settings/company', $company); | ||||
|  | ||||
|         $response->assertOk(); | ||||
|         $company2 = $response->decodeResponseJson()['user']['company']; | ||||
|         $address2 = $response->decodeResponseJson()['user']['addresses'][0]; | ||||
|         $this->assertEquals($company['name'], $company2['name']); | ||||
|         $this->assertEquals($company['country_id'], $address2['country_id']); | ||||
|         $this->assertEquals($company['state_id'], $address2['state_id']); | ||||
|         $this->assertEquals($company['city_id'], $address2['city_id']); | ||||
|         $this->assertEquals($company['address_street_1'], $address2['address_street_1']); | ||||
|         $this->assertEquals($company['address_street_2'], $address2['address_street_2']); | ||||
|         $this->assertEquals($company['phone'], $address2['phone']); | ||||
|         $this->assertEquals($company['zip'], $address2['zip']); | ||||
|     } | ||||
|  | ||||
|     /** @test */ | ||||
|     public function testGetSettings() | ||||
|     { | ||||
|         $response = $this->json('GET', 'api/settings/general'); | ||||
|  | ||||
|         $response->assertOk(); | ||||
|     } | ||||
|  | ||||
|     /** @test */ | ||||
|     public function testUpdateSettings() | ||||
|     { | ||||
|         $settings = [ | ||||
|             'currency'           => 1, | ||||
|             'time_zone'          => 'Asia/Kolkata', | ||||
|             'language'           => 'en', | ||||
|             'fiscal_year'        => '1-12', | ||||
|             'carbon_date_format' => 'Y/m/d', | ||||
|             'moment_date_format' => 'YYYY/MM/DD' | ||||
|         ]; | ||||
|  | ||||
|         $response = $this->json('PUT', 'api/settings/general', $settings); | ||||
|  | ||||
|         $response->assertOk(); | ||||
|     } | ||||
|  | ||||
|     /** @test */ | ||||
|     public function testUpdateNotificationEmailSettings() | ||||
|     { | ||||
|         $settings = [ | ||||
|             'key' => 'notification_email', | ||||
|             'value' => 'noreply@crater.in' | ||||
|         ]; | ||||
|  | ||||
|         $response = $this->json('PUT', 'api/settings/update-setting', $settings); | ||||
|  | ||||
|         $response->assertOk(); | ||||
|     } | ||||
|  | ||||
|     /** @test */ | ||||
|     public function testGetNotificationEmailSettings() | ||||
|     { | ||||
|         $response = $this->json('GET', 'api/settings/get-setting?key=notification_email'); | ||||
|  | ||||
|         $response->assertOk(); | ||||
|     } | ||||
|  | ||||
|     /** @test */ | ||||
|     public function testUpdateNotificationInvoiceViewedSettings() | ||||
|     { | ||||
|         $settings = [ | ||||
|             'key' => 'notify_invoice_viewed', | ||||
|             'value' => 'YES' | ||||
|         ]; | ||||
|  | ||||
|         $response = $this->json('PUT', 'api/settings/update-setting', $settings); | ||||
|  | ||||
|         $response->assertOk(); | ||||
|     } | ||||
|  | ||||
|     /** @test */ | ||||
|     public function testGetNotificationInvoiceViewedSettings() | ||||
|     { | ||||
|         $response = $this->json('GET', 'api/settings/get-setting?key=notify_invoice_viewed'); | ||||
|  | ||||
|         $response->assertOk(); | ||||
|     } | ||||
|  | ||||
|     /** @test */ | ||||
|     public function testUpdateNotificationEstimateViewedSettings() | ||||
|     { | ||||
|         $settings = [ | ||||
|             'key' => 'notify_estimate_viewed', | ||||
|             'value' => 'YES' | ||||
|         ]; | ||||
|  | ||||
|         $response = $this->json('PUT', 'api/settings/update-setting', $settings); | ||||
|  | ||||
|         $response->assertOk(); | ||||
|     } | ||||
|  | ||||
|     /** @test */ | ||||
|     public function testGetNotificationEstimateViewedSettings() | ||||
|     { | ||||
|         $response = $this->json('GET', 'api/settings/get-setting?key=notify_estimate_viewed'); | ||||
|  | ||||
|         $response->assertOk(); | ||||
|     } | ||||
|  | ||||
|     /** @test */ | ||||
|     public function testUpdateTaxPerItemSetting() | ||||
|     { | ||||
|         $settings = [ | ||||
|             'key' => 'tax_per_item', | ||||
|             'value' => 'YES' | ||||
|         ]; | ||||
|  | ||||
|         $response = $this->json('PUT', 'api/settings/update-setting', $settings); | ||||
|  | ||||
|         $response->assertOk(); | ||||
|     } | ||||
|  | ||||
|     /** @test */ | ||||
|     public function testGetTaxPerItemSetting() | ||||
|     { | ||||
|         $response = $this->json('GET', 'api/settings/get-setting?key=tax_per_item'); | ||||
|  | ||||
|         $response->assertOk(); | ||||
|     } | ||||
|  | ||||
|     /** @test */ | ||||
|     public function testUpdateDiscountPerItemSetting() | ||||
|     { | ||||
|         $settings = [ | ||||
|             'key' => 'discount_per_item', | ||||
|             'value' => 'YES' | ||||
|         ]; | ||||
|  | ||||
|         $response = $this->json('PUT', 'api/settings/update-setting', $settings); | ||||
|  | ||||
|         $response->assertOk(); | ||||
|     } | ||||
|  | ||||
|     /** @test */ | ||||
|     public function testGetDiscountPerItemSetting() | ||||
|     { | ||||
|         $response = $this->json('GET', 'api/settings/get-setting?key=discount_per_item'); | ||||
|  | ||||
|         $response->assertOk(); | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user