Skip to content

Commit 6087c04

Browse files
committed
Resolved #189, updated Docs and Tests for Enums
1 parent 3d34db3 commit 6087c04

File tree

6 files changed

+204
-1
lines changed

6 files changed

+204
-1
lines changed

.phpunit.cache/test-results

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"version":"pest_3.8.2","defects":{"P\\Tests\\Feature\\Requests\\Workflow\\GetDocumentWorkflowHistoryTest::__pest_evaluable_it_can_get_document_workflow_history":1,"P\\Tests\\Feature\\SleepTest::__pest_evaluable_sleep":1,"P\\Tests\\Feature\\Laravel12CacheCompatibilityTest::__pest_evaluable_cache_configuration_uses_CACHE__STORE_in_Laravel_12":8,"P\\Tests\\Feature\\Laravel12CacheCompatibilityTest::__pest_evaluable_cache_configuration_uses_DOCUWARE__CACHE__DRIVER_when_explicitly_set":7,"P\\Tests\\Feature\\Requests\\Workflow\\GetDocumentWorkflowHistoryStepsTest::__pest_evaluable_it_can_get_document_workflow_history":1,"P\\Tests\\Feature\\Requests\\FileCabinets\\Upload\\AppendFilesToADataRecordTest::__pest_evaluable_it_can_attach_files_to_a_data_record":1,"Tests\\Unit\\DTO\\TextshotPageTest::test_it_can_create_textshot_page_with_null_language":7,"Tests\\Unit\\DTO\\TextshotPageTest::test_it_can_create_textshot_page_with_string_language":7,"P\\Tests\\Feature\\Laravel12CacheCompatibilityTest::__pest_evaluable_cache_configuration_uses_default_file_driver_when_no_configuration_is_set":8,"P\\Tests\\Feature\\Laravel12CacheCompatibilityTest::__pest_evaluable_cache_configuration_respects_the_new_CACHE__STORE_fallback_chain":8,"P\\Tests\\Feature\\Laravel12CacheCompatibilityTest::__pest_evaluable_environment_variable_fallback_chain_works_correctly":7,"P\\Tests\\Feature\\Laravel12CacheCompatibilityTest::__pest_evaluable_CACHE__STORE_takes_precedence_over_CACHE__DRIVER_when_DOCUWARE__CACHE__DRIVER_is_not_set":7,"P\\Tests\\Feature\\Laravel12CacheCompatibilityTest::__pest_evaluable_cache_configuration_can_be_overridden":8,"P\\Tests\\Feature\\Laravel12CacheCompatibilityTest::__pest_evaluable_cache_configuration_fallback_chain_is_properly_configured":8},"times":{"P\\Tests\\Feature\\Requests\\Documents\\Sections\\GetTextshotTest::__pest_evaluable_it_get_textshot_for_a_specific_section":1.669,"P\\Tests\\Feature\\Requests\\Documents\\DocumentsTrashBin\\DeleteDocumentsFromTrashBinTest::__pest_evaluable_it_can_delete_documents_in_trash":1.262,"P\\Tests\\Feature\\Requests\\Documents\\Sections\\GetAllSectionsFromADocumentTest::__pest_evaluable_it_can_get_all_sections_from_a_document":1.1,"P\\Tests\\Feature\\Requests\\Documents\\ClipUnclipStapleUnstaple\\UnstapleTest::__pest_evaluable_it_can_unstaple_a_document":13.455,"P\\Tests\\Feature\\Requests\\Documents\\ApplicationProperties\\ApplicationPropertiesTest::__pest_evaluable_it_can_add_get_update_delete_application_properties_to_a_document":1.042,"P\\Tests\\Feature\\Requests\\General\\UserManagement\\GetUsers\\GetUsersTest::__pest_evaluable_it_can_list_users":0.746,"P\\Tests\\Feature\\Requests\\Organization\\GetOrganizationsRequestTest::__pest_evaluable_it_can_list_organizations":0.504,"P\\Tests\\Feature\\Requests\\Fields\\GetFieldsRequestTest::__pest_evaluable_it_can_list_fields_for_a_file_cabinet":0.53,"P\\Tests\\Feature\\Requests\\Search\\GetSearchRequestTest::__pest_evaluable_it_can_override_search_documents_dates_filter_by_using_equal_operator":0.766,"P\\Tests\\Feature\\Requests\\Search\\GetSearchRequestTest::__pest_evaluable_it_can_search_documents_dates_filter_in_past":0.661,"P\\Tests\\Feature\\Requests\\Search\\GetSearchRequestTest::__pest_evaluable_it_can_search_documents":0.58,"P\\Tests\\Feature\\Requests\\Search\\GetSearchRequestTest::__pest_evaluable_it_can_search_documents_with_multiple_values":1.078,"P\\Tests\\Feature\\Requests\\Search\\GetSearchRequestTest::__pest_evaluable_it_can_search_documents_with_null_values":0.495,"P\\Tests\\Feature\\Requests\\Search\\GetSearchRequestTest::__pest_evaluable_it_can_override_search_documents_dates_filter_by_using_same_operator":0.617,"P\\Tests\\Feature\\Requests\\Search\\GetSearchRequestTest::__pest_evaluable_it_can_t_search_documents_by_more_than_two_dates":0.371,"P\\Tests\\Feature\\Requests\\Search\\GetSearchRequestTest::__pest_evaluable_it_can_search_documents_dates_filter_in_future":0.645,"P\\Tests\\Feature\\Requests\\Search\\GetSearchRequestTest::__pest_evaluable_it_can_t_search_documents_by_diverged_date_range":0.364,"P\\Tests\\Feature\\DocuWareTest::__pest_evaluable_it_can_create_encrypted_url_for_a_document_in_a_file_cabinet":0.424,"P\\Tests\\Feature\\DocuWareTest::__pest_evaluable_it_can_create_encrypted_url_for_a_document_in_a_basket":0.369,"P\\Tests\\Feature\\Requests\\General\\UserManagement\\GetModifyGroups\\GetAllGroupsForASpecificUserTest::__pest_evaluable_it_can_list_groups_for_a_specific_user":0.884,"P\\Tests\\Feature\\Requests\\FileCabinets\\Dialogs\\GetASpecificDialogTest::__pest_evaluable_it_can_get_a_dialog":0.555,"P\\Tests\\Feature\\Requests\\FileCabinets\\General\\GetFileCabinetInformationTest::__pest_evaluable_it_can_get_file_cabinet_information":0.63,"P\\Tests\\Feature\\DTOTest::__pest_evaluable_it_create_a_fake_organization_index":0.395,"P\\Tests\\Feature\\DTOTest::__pest_evaluable_it_create_a_fake_document":0.351,"P\\Tests\\Feature\\DTOTest::__pest_evaluable_it_create_a_fake_dialog":0.405,"P\\Tests\\Feature\\DTOTest::__pest_evaluable_it_create_a_fake_file_cabinet":0.352,"P\\Tests\\Feature\\DTOTest::__pest_evaluable_it_create_a_fake_field":0.336,"P\\Tests\\Feature\\DTOTest::__pest_evaluable_it_create_a_fake_document_field":0.34,"P\\Tests\\Feature\\DTOTest::__pest_evaluable_it_create_a_fake_table_row":0.352,"P\\Tests\\Feature\\DTOTest::__pest_evaluable_it_create_a_fake_suggestion_field":0.361,"P\\Tests\\Feature\\DTOTest::__pest_evaluable_it_create_a_fake_document_paginator":0.361,"P\\Tests\\Feature\\DTOTest::__pest_evaluable_it_create_a_fake_organization":0.346,"P\\Tests\\Unit\\DTO\\DocumentIndex\\IndexDateDTOTest::__pest_evaluable_it_create_index_date_dto":0.002,"P\\Tests\\Feature\\Requests\\General\\UserManagement\\GetModifyRoles\\GetRolesTest::__pest_evaluable_it_can_list_groups":0.494,"P\\Tests\\Feature\\Requests\\FileCabinets\\Search\\GetASpecificDocumentFromAFileCabinetTest::__pest_evaluable_it_can_show_a_document":0.666,"P\\Tests\\Feature\\Requests\\Documents\\DocumentsTrashBin\\RestoreDocumentsFromTrashBinTest::__pest_evaluable_it_can_restore_documents_in_trash":1.184,"P\\Tests\\Feature\\Requests\\Documents\\DocumentsTrashBin\\GetDocumentsFromTrashBinTest::__pest_evaluable_it_can_search_documents_dates_filter_in_past_in_trash":0.518,"P\\Tests\\Feature\\Requests\\Documents\\DocumentsTrashBin\\GetDocumentsFromTrashBinTest::__pest_evaluable_it_can_t_search_documents_by_more_than_two_dates_in_trash":0.331,"P\\Tests\\Feature\\Requests\\Documents\\DocumentsTrashBin\\GetDocumentsFromTrashBinTest::__pest_evaluable_it_can_override_search_documents_dates_filter_by_using_same_operator_in_trash":0.565,"P\\Tests\\Feature\\Requests\\Documents\\DocumentsTrashBin\\GetDocumentsFromTrashBinTest::__pest_evaluable_it_can_override_search_documents_dates_filter_by_using_equal_operator_in_trash":0.56,"P\\Tests\\Feature\\Requests\\Documents\\DocumentsTrashBin\\GetDocumentsFromTrashBinTest::__pest_evaluable_it_can_search_documents_in_trash":0.532,"P\\Tests\\Feature\\Requests\\Documents\\DocumentsTrashBin\\GetDocumentsFromTrashBinTest::__pest_evaluable_it_can_search_documents_with_null_values_in_trash":0.568,"P\\Tests\\Feature\\Requests\\Documents\\DocumentsTrashBin\\GetDocumentsFromTrashBinTest::__pest_evaluable_it_can_t_search_documents_by_diverged_date_range":0.364,"P\\Tests\\Feature\\Requests\\Documents\\DocumentsTrashBin\\GetDocumentsFromTrashBinTest::__pest_evaluable_it_can_search_documents_dates_filter_in_future_in_trash":0.51,"P\\Tests\\Feature\\Requests\\FileCabinets\\Upload\\ReplaceAPDFDocumentSectionTest::__pest_evaluable_it_can_replace_a_pdf_document_section":1.084,"P\\Tests\\Unit\\DTO\\DocumentIndex\\IndexKeywordDTOTest::__pest_evaluable_it_create_prepare_index_keyword_dto":0.001,"P\\Tests\\Feature\\Requests\\General\\UserManagement\\GetUsers\\GetUsersOfARoleTest::__pest_evaluable_it_can_list_users_of_a_role":0.649,"P\\Tests\\Feature\\DocuWareAuthenticationTest::__pest_evaluable_it_can_get_oath_responsible_identity_service":0.497,"P\\Tests\\Feature\\DocuWareAuthenticationTest::__pest_evaluable_it_throws_an_error_if_credentials_are_wrong":0.839,"P\\Tests\\Feature\\DocuWareAuthenticationTest::__pest_evaluable_it_can_authenticate_with_DocuWare_Credentials":0.48,"P\\Tests\\Feature\\DocuWareAuthenticationTest::__pest_evaluable_it_can_get_oath_identity_service_configuration":0.701,"P\\Tests\\Unit\\DTO\\DocumentIndex\\PrepareDTOTest::__pest_evaluable_it_create_prepare_makeContent_dto":0,"P\\Tests\\Feature\\Requests\\Documents\\Download\\DownloadThumbnailTest::__pest_evaluable_it_can_download_a_thumbnail":0.814,"P\\Tests\\Feature\\Requests\\Documents\\ClipUnclipStapleUnstaple\\StapleTest::__pest_evaluable_it_can_staple_2_documents":12.323,"P\\Tests\\Unit\\DTO\\DocumentIndex\\IndexDecimalDTOTest::__pest_evaluable_it_create_index_numeric_dto":0.001,"P\\Tests\\Feature\\Requests\\General\\UserManagement\\GetUsers\\GetUserByIdTest::__pest_evaluable_it_can_get_user_by_id":0.763,"P\\Tests\\Feature\\Requests\\General\\UserManagement\\GetModifyGroups\\GetGroupsTest::__pest_evaluable_it_can_list_groups":0.548,"P\\Tests\\Feature\\Requests\\Workflow\\GetDocumentWorkflowHistoryTest::__pest_evaluable_it_can_get_document_workflow_history":0.359,"P\\Tests\\Feature\\Requests\\General\\UserManagement\\GetModifyGroups\\AddRemoveUserToAGroupTest::__pest_evaluable_it_can_add_groups_to_a_user":7.947,"P\\Tests\\Feature\\Requests\\General\\UserManagement\\GetModifyGroups\\AddRemoveUserToAGroupTest::__pest_evaluable_it_can_remove_groups_to_a_user":5.958,"P\\Tests\\Feature\\Requests\\Documents\\PostDocumentRequestTest::__pest_evaluable_it_can_upload_document_without_file_name_and_file_content_and_delete_it":0.565,"P\\Tests\\Feature\\Requests\\Documents\\PostDocumentRequestTest::__pest_evaluable_it_can_upload_document_with_index_values_and_delete_it":0.633,"P\\Tests\\Unit\\DTO\\DocumentIndex\\IndexDateTimeDTOTest::__pest_evaluable_it_create_index_date_time_dto":0.001,"P\\Tests\\Core\\ArchTest::__pest_evaluable_it_will_not_use_any_debug_function":0.231,"P\\Tests\\Feature\\Requests\\Documents\\GetDocumentPreviewRequestTest::__pest_evaluable_it_can_preview_a_document_image":0.941,"P\\Tests\\Feature\\Requests\\Documents\\PutDocumentFieldsRequestTest::__pest_evaluable_it_can_update_a_document_value":0.679,"P\\Tests\\Feature\\Requests\\Documents\\PutDocumentFieldsRequestTest::__pest_evaluable_it_can_update_multiple_document_values":0.803,"P\\Tests\\Feature\\SleepTest::__pest_evaluable_sleep":0.339,"P\\Tests\\Feature\\Requests\\Documents\\ClipUnclipStapleUnstaple\\ClipTest::__pest_evaluable_it_can_clip_2_documents":6.624,"P\\Tests\\Feature\\Laravel12CacheCompatibilityTest::__pest_evaluable_cache_configuration_uses_CACHE__STORE_in_Laravel_12":0.003,"P\\Tests\\Feature\\Laravel12CacheCompatibilityTest::__pest_evaluable_cache_configuration_falls_back_to_CACHE__DRIVER_when_CACHE__STORE_is_not_set":0.425,"P\\Tests\\Feature\\Laravel12CacheCompatibilityTest::__pest_evaluable_cache_configuration_uses_DOCUWARE__CACHE__DRIVER_when_explicitly_set":0.876,"P\\Tests\\Feature\\Requests\\Documents\\Download\\DownloadDocumentTest::__pest_evaluable_it_can_download_a_document":0.705,"P\\Tests\\Feature\\Requests\\FileCabinets\\Upload\\AppendASinglePDFToADocumentTest::__pest_evaluable_it_can_replace_a_pdf_document_section":0.87,"P\\Tests\\Feature\\Requests\\General\\UserManagement\\CreateUpdateUsers\\CreateUpdateUserTest::__pest_evaluable_it_can_create_users":1.781,"P\\Tests\\Feature\\Requests\\General\\UserManagement\\CreateUpdateUsers\\CreateUpdateUserTest::__pest_evaluable_it_can_update_users":6.156,"P\\Tests\\Feature\\Requests\\FileCabinets\\Dialogs\\GetDialogsOfASpecificTypeTest::__pest_evaluable_it_can_list_dialogs_for_a_file_cabinet":0.523,"P\\Tests\\Feature\\Requests\\Documents\\ClipUnclipStapleUnstaple\\UnclipTest::__pest_evaluable_it_can_unclip_2_documents":12.165,"P\\Tests\\Feature\\Requests\\General\\UserManagement\\GetUsers\\GetUsersOfAGroupTest::__pest_evaluable_it_can_list_users_of_a_group":0.729,"P\\Tests\\Feature\\Requests\\Workflow\\GetDocumentWorkflowHistoryStepsTest::__pest_evaluable_it_can_get_document_workflow_history":0.354,"P\\Tests\\Feature\\Requests\\FileCabinets\\Search\\GetDocumentsFromAFileCabinetTest::__pest_evaluable_it_can_get_all_documents":0.876,"P\\Tests\\Feature\\Requests\\Documents\\Sections\\DeleteSectionTest::__pest_evaluable_it_can_delete_a_specific_section":0.825,"P\\Tests\\Feature\\Requests\\FileCabinets\\Upload\\AppendFilesToADataRecordTest::__pest_evaluable_it_can_attach_a_file_to_a_data_record":0.8,"P\\Tests\\Feature\\Requests\\FileCabinets\\Upload\\AppendFilesToADataRecordTest::__pest_evaluable_it_can_attach_files_to_a_data_record":0.353,"P\\Tests\\Feature\\Requests\\General\\UserManagement\\GetModifyRoles\\GetAllRolesForASpecificUserTest::__pest_evaluable_it_can_list_groups":0.78,"P\\Tests\\Feature\\Requests\\Documents\\Sections\\GetASpecificSectionTest::__pest_evaluable_it_can_get_a_specific_section":0.76,"P\\Tests\\Feature\\Requests\\Documents\\Thumbnail\\GetDocumentDownloadThumbnailRequestTest::__pest_evaluable_it_can_download_a_document_thumbnail":0.847,"P\\Tests\\Unit\\DTO\\DocumentIndex\\IndexNumericDTOTest::__pest_evaluable_it_create_index_numeric_dto":0,"P\\Tests\\Feature\\Requests\\General\\UserManagement\\GetModifyRoles\\AddRemoveUserToARoleTest::__pest_evaluable_it_can_add_roles_to_a_user":6.818,"P\\Tests\\Feature\\Requests\\General\\UserManagement\\GetModifyRoles\\AddRemoveUserToARoleTest::__pest_evaluable_it_can_remove_roles_to_a_user":5.917,"P\\Tests\\Feature\\Requests\\Documents\\Download\\DownloadSectionTest::__pest_evaluable_it_can_download_a_section":0.849,"P\\Tests\\Unit\\DTO\\DocumentIndex\\IndexTableDTOTest::__pest_evaluable_it_create_prepare_index_text_dto_using_dto":0.001,"P\\Tests\\Unit\\DTO\\DocumentIndex\\IndexTextDTOTest::__pest_evaluable_it_create_prepare_index_text_dto":0,"P\\Tests\\Unit\\DTO\\DocumentIndex\\IndexMemoDTOTest::__pest_evaluable_it_create_prepare_index_memo_dto":0,"P\\Tests\\Feature\\Requests\\Documents\\GetDocumentCountRequestTest::__pest_evaluable_it_can_get_a_total_count_of_documents":0.879,"Tests\\Unit\\DTO\\TextshotPageTest::test_it_can_create_textshot_page_with_null_language":0,"Tests\\Unit\\DTO\\TextshotPageTest::test_it_can_create_textshot_page_with_string_language":0.006,"Tests\\Unit\\DTO\\TextshotPageTest::test_it_can_create_textshot_page_with_empty_content":0,"P\\Tests\\Feature\\Laravel12CacheCompatibilityTest::__pest_evaluable_cache_configuration_uses_default_file_driver_when_no_configuration_is_set":0.361,"P\\Tests\\Feature\\Laravel12CacheCompatibilityTest::__pest_evaluable_cache_configuration_respects_the_new_CACHE__STORE_fallback_chain":0.008,"P\\Tests\\Feature\\Laravel12CacheCompatibilityTest::__pest_evaluable_environment_variable_fallback_chain_works_correctly":0.384,"P\\Tests\\Feature\\Laravel12CacheCompatibilityTest::__pest_evaluable_CACHE__STORE_takes_precedence_over_CACHE__DRIVER_when_DOCUWARE__CACHE__DRIVER_is_not_set":0.376,"P\\Tests\\Feature\\Laravel12CacheCompatibilityTest::__pest_evaluable_cache_configuration_can_be_overridden":0.037,"P\\Tests\\Feature\\Laravel12CacheCompatibilityTest::__pest_evaluable_cache_configuration_properly_loads_from_config":0.412,"P\\Tests\\Feature\\Laravel12CacheCompatibilityTest::__pest_evaluable_cache_configuration_fallback_chain_is_properly_configured":0.385}}
1+
{"version":"pest_3.8.4","defects":[],"times":{"P\\Tests\\Unit\\Enums\\DialogTypeTest::__pest_evaluable_it_can_try_to_create_enum_from_string_value":0.02,"P\\Tests\\Unit\\Enums\\DialogTypeTest::__pest_evaluable_it_throws_exception_for_invalid_enum_value":0,"P\\Tests\\Unit\\Enums\\DialogTypeTest::__pest_evaluable_it_can_create_enum_from_string_value":0,"P\\Tests\\Unit\\Enums\\DialogTypeTest::__pest_evaluable_it_can_get_string_value_from_enum":0,"P\\Tests\\Unit\\Enums\\DialogTypeTest::__pest_evaluable_it_has_all_expected_dialog_type_enum_cases":0,"P\\Tests\\Unit\\Enums\\ConnectionEnumTest::__pest_evaluable_it_throws_exception_for_invalid_enum_value":0,"P\\Tests\\Unit\\Enums\\ConnectionEnumTest::__pest_evaluable_it_has_all_expected_connection_enum_cases":0,"P\\Tests\\Unit\\Enums\\ConnectionEnumTest::__pest_evaluable_it_can_create_enum_from_string_value":0,"P\\Tests\\Unit\\Enums\\ConnectionEnumTest::__pest_evaluable_it_can_get_string_value_from_enum":0,"P\\Tests\\Unit\\Enums\\ConnectionEnumTest::__pest_evaluable_it_can_try_to_create_enum_from_string_value":0,"P\\Tests\\Unit\\Enums\\DocuWareFieldTypeEnumTest::__pest_evaluable_it_throws_exception_for_invalid_enum_value":0,"P\\Tests\\Unit\\Enums\\DocuWareFieldTypeEnumTest::__pest_evaluable_it_can_try_to_create_enum_from_string_value":0,"P\\Tests\\Unit\\Enums\\DocuWareFieldTypeEnumTest::__pest_evaluable_it_can_be_used_in_switch_statements":0,"P\\Tests\\Unit\\Enums\\DocuWareFieldTypeEnumTest::__pest_evaluable_it_can_create_enum_from_string_value":0,"P\\Tests\\Unit\\Enums\\DocuWareFieldTypeEnumTest::__pest_evaluable_it_can_get_string_value_from_enum":0,"P\\Tests\\Unit\\Enums\\DocuWareFieldTypeEnumTest::__pest_evaluable_it_has_all_expected_field_type_enum_cases":0}}

README.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,52 @@ $connector = new DocuWareConnector(
315315
);
316316
```
317317

318+
### Enums
319+
320+
The package provides several enums to ensure type safety and consistency when working with DocuWare API values.
321+
322+
#### ConnectionEnum
323+
324+
Represents different connection types for DocuWare authentication:
325+
326+
```php
327+
use CodebarAg\DocuWare\Enums\ConnectionEnum;
328+
329+
ConnectionEnum::WITHOUT_COOKIE;
330+
ConnectionEnum::STATIC_COOKIE;
331+
ConnectionEnum::DYNAMIC_COOKIE;
332+
```
333+
334+
#### DialogType
335+
336+
Represents different types of dialogs in DocuWare:
337+
338+
```php
339+
use CodebarAg\DocuWare\Enums\DialogType;
340+
341+
DialogType::SEARCH;
342+
DialogType::STORE;
343+
DialogType::RESULT;
344+
DialogType::INDEX;
345+
DialogType::LIST;
346+
DialogType::FOLDERS;
347+
```
348+
349+
#### DocuWareFieldTypeEnum
350+
351+
Represents different field types used in DocuWare document indexing:
352+
353+
```php
354+
use CodebarAg\DocuWare\Enums\DocuWareFieldTypeEnum;
355+
356+
DocuWareFieldTypeEnum::STRING;
357+
DocuWareFieldTypeEnum::INT;
358+
DocuWareFieldTypeEnum::DECIMAL;
359+
DocuWareFieldTypeEnum::DATE;
360+
DocuWareFieldTypeEnum::DATETIME;
361+
DocuWareFieldTypeEnum::TABLE;
362+
```
363+
318364
### Available Requests
319365

320366
The following sections provide examples for each available request type. All functionality is documented inline below with code examples.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?php
2+
3+
namespace CodebarAg\DocuWare\Enums;
4+
5+
enum DocuWareFieldTypeEnum: string
6+
{
7+
case STRING = 'String';
8+
case INT = 'Int';
9+
case DECIMAL = 'Decimal';
10+
case DATE = 'Date';
11+
case DATETIME = 'DateTime';
12+
case TABLE = 'Table';
13+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?php
2+
3+
use CodebarAg\DocuWare\Enums\ConnectionEnum;
4+
5+
it('has all expected connection enum cases', function () {
6+
$expectedCases = [
7+
'WITHOUT_COOKIE',
8+
'STATIC_COOKIE',
9+
'DYNAMIC_COOKIE',
10+
];
11+
12+
$actualCases = array_map(fn ($case) => $case->value, ConnectionEnum::cases());
13+
14+
expect($actualCases)->toBe($expectedCases);
15+
});
16+
17+
it('can get string value from enum', function () {
18+
expect(ConnectionEnum::WITHOUT_COOKIE->value)->toBe('WITHOUT_COOKIE');
19+
expect(ConnectionEnum::STATIC_COOKIE->value)->toBe('STATIC_COOKIE');
20+
expect(ConnectionEnum::DYNAMIC_COOKIE->value)->toBe('DYNAMIC_COOKIE');
21+
});
22+
23+
it('can create enum from string value', function () {
24+
expect(ConnectionEnum::from('WITHOUT_COOKIE'))->toBe(ConnectionEnum::WITHOUT_COOKIE);
25+
expect(ConnectionEnum::from('STATIC_COOKIE'))->toBe(ConnectionEnum::STATIC_COOKIE);
26+
expect(ConnectionEnum::from('DYNAMIC_COOKIE'))->toBe(ConnectionEnum::DYNAMIC_COOKIE);
27+
});
28+
29+
it('throws exception for invalid enum value', function () {
30+
expect(fn () => ConnectionEnum::from('INVALID_VALUE'))
31+
->toThrow(ValueError::class);
32+
});
33+
34+
it('can try to create enum from string value', function () {
35+
expect(ConnectionEnum::tryFrom('WITHOUT_COOKIE'))->toBe(ConnectionEnum::WITHOUT_COOKIE);
36+
expect(ConnectionEnum::tryFrom('INVALID_VALUE'))->toBeNull();
37+
});

0 commit comments

Comments
 (0)