From c82f3eec596b72a9b8243cfca825e45deed11e5e Mon Sep 17 00:00:00 2001 From: Uladzimir_Paliukhovich Date: Thu, 14 Apr 2022 10:58:24 +0300 Subject: [PATCH] Reverted changes (#383) * Revert "Add default values for enums (#381)" This reverts commit c8899da47ab045b0c334e07f5be561c4fcd4ba16. * Revert "AllOf enum fix (#380)" This reverts commit 80ebc182eeb57d1ee30b5f90f9f3d57036f4702c. * Revert "Fix sending integer enums (#379)" This reverts commit c06fc7e97aa29b1d928c09ea8ff258eb24015254. Co-authored-by: uladzimir_paliukhovich <> --- .../swagger_enums_generator.dart | 32 +-- .../swagger_generator_base.dart | 18 +- .../swagger_models_generator.dart | 212 +++++------------- .../v2/swagger_models_generator_v2.dart | 2 +- .../v3/swagger_models_generator_v3.dart | 2 +- lib/src/models/swagger_enum.dart | 31 --- test/code_examples.dart | 169 -------------- .../generator_tests/enums_generator_test.dart | 8 +- .../models_generator_test.dart | 90 -------- 9 files changed, 76 insertions(+), 488 deletions(-) delete mode 100644 lib/src/models/swagger_enum.dart diff --git a/lib/src/code_generators/swagger_enums_generator.dart b/lib/src/code_generators/swagger_enums_generator.dart index a930fc7d..aef084dc 100644 --- a/lib/src/code_generators/swagger_enums_generator.dart +++ b/lib/src/code_generators/swagger_enums_generator.dart @@ -214,12 +214,7 @@ $enumsFromRequestBodies final enumMap = ''' \n\tconst \$${enumName}Map = { -\t${getEnumValuesMapContent( - enumName, - enumValues: enumValues, - enumValuesNames: [], - isInteger: isInteger, - )} +\t${getEnumValuesMapContent(enumName, enumValues: enumValues, enumValuesNames: [])} }; '''; @@ -272,12 +267,9 @@ $enumMap return resultStrings.join(',\n'); } - String getEnumValuesMapContent( - String enumName, { - required List enumValues, - required List enumValuesNames, - required bool isInteger, - }) { + String getEnumValuesMapContent(String enumName, + {required List enumValues, + required List enumValuesNames}) { final neededStrings = []; final fields = []; @@ -296,13 +288,8 @@ $enumMap validatedValue = getValidatedEnumFieldName(validatedValue); fields.add(validatedValue); - if (isInteger) { - neededStrings.add( - '\t$enumName.$validatedValue: ${value.replaceAll('\$', '\\\$')}'); - } else { - neededStrings.add( - '\t$enumName.$validatedValue: \'${value.replaceAll('\$', '\\\$')}\''); - } + neededStrings.add( + '\t$enumName.$validatedValue: \'${value.replaceAll('\$', '\\\$')}\''); } return neededStrings.join(',\n'); @@ -379,12 +366,7 @@ $enumMap final enumMap = ''' \n\tconst \$${enumName}Map = { -\t${getEnumValuesMapContent( - enumName, - enumValues: enumValues, - enumValuesNames: enumValuesNamesList, - isInteger: isInteger, - )} +\t${getEnumValuesMapContent(enumName, enumValues: enumValues, enumValuesNames: enumValuesNamesList)} }; '''; diff --git a/lib/src/code_generators/swagger_generator_base.dart b/lib/src/code_generators/swagger_generator_base.dart index cf25d095..2199700b 100644 --- a/lib/src/code_generators/swagger_generator_base.dart +++ b/lib/src/code_generators/swagger_generator_base.dart @@ -3,7 +3,6 @@ import 'package:swagger_dart_code_generator/src/code_generators/constants.dart'; import 'package:swagger_dart_code_generator/src/exception_words.dart'; import 'package:swagger_dart_code_generator/src/extensions/string_extension.dart'; import 'package:swagger_dart_code_generator/src/models/generator_options.dart'; -import 'package:swagger_dart_code_generator/src/models/swagger_enum.dart'; import 'package:swagger_dart_code_generator/src/swagger_models/requests/swagger_request.dart'; import 'package:swagger_dart_code_generator/src/swagger_models/requests/swagger_request_parameter.dart'; import 'package:swagger_dart_code_generator/src/swagger_models/swagger_path.dart'; @@ -102,8 +101,8 @@ abstract class SwaggerGeneratorBase { return jsonKey; } - List getEnumsFromRequests(Map map) { - final enums = []; + List getEnumNamesFromRequests(Map map) { + final enumNames = []; final swaggerRoot = SwaggerRoot.fromJson(map); //Link defined parameters with requests @@ -130,7 +129,7 @@ abstract class SwaggerGeneratorBase { var name = generateRequestEnumName( path, requestType, swaggerRequestParameter.name); - if (enums.any((element) => element.name == name)) { + if (enumNames.contains(name)) { continue; } @@ -139,20 +138,13 @@ abstract class SwaggerGeneratorBase { []; if (enumValues.isNotEmpty) { - enums.add( - SwaggerEnum( - name: name, - isInteger: kIntegerTypes.contains( - swaggerRequestParameter.schema?.type, - ), - ), - ); + enumNames.add(name); } } }); }); - return enums; + return enumNames; } SwaggerRequestParameter getOriginalOrOverriddenRequestParameter( diff --git a/lib/src/code_generators/swagger_models_generator.dart b/lib/src/code_generators/swagger_models_generator.dart index d814ec17..4e17714e 100644 --- a/lib/src/code_generators/swagger_models_generator.dart +++ b/lib/src/code_generators/swagger_models_generator.dart @@ -1,13 +1,12 @@ import 'dart:convert'; import 'package:collection/collection.dart'; -import 'package:recase/recase.dart'; import 'package:swagger_dart_code_generator/src/code_generators/constants.dart'; import 'package:swagger_dart_code_generator/src/code_generators/swagger_generator_base.dart'; -import 'package:swagger_dart_code_generator/src/exception_words.dart'; -import 'package:swagger_dart_code_generator/src/extensions/string_extension.dart'; import 'package:swagger_dart_code_generator/src/models/generator_options.dart'; -import 'package:swagger_dart_code_generator/src/models/swagger_enum.dart'; +import 'package:recase/recase.dart'; +import 'package:swagger_dart_code_generator/src/extensions/string_extension.dart'; +import 'package:swagger_dart_code_generator/src/exception_words.dart'; import 'constants.dart'; @@ -177,12 +176,12 @@ abstract class SwaggerModelsGenerator extends SwaggerGeneratorBase { String generateBase(Map map, String fileName, Map classes, bool generateFromJsonToJsonForRequests) { - final allEnums = getAllEnums(map); + final allEnumsNames = getAllEnumNames(map); final allEnumListNames = getAllListEnumNames(map); final generatedEnumFromJsonToJson = generateFromJsonToJsonForRequests - ? generateEnumFromJsonToJsonMethods( - allEnums, options.enumsCaseSensitive) + ? genetateEnumFromJsonToJsonMethods( + allEnumsNames, options.enumsCaseSensitive) : ''; final classesFromResponses = getClassesFromResponses(map); @@ -208,7 +207,7 @@ abstract class SwaggerModelsGenerator extends SwaggerGeneratorBase { classes, options.defaultValuesMap, options.useDefaultNullForLists, - allEnums.map((e) => e.name).toList(), + allEnumsNames, allEnumListNames, ); }).join('\n'); @@ -358,12 +357,7 @@ abstract class SwaggerModelsGenerator extends SwaggerGeneratorBase { } final unknownEnumValue = generateUnknownEnumValue( - allEnumNames, - allEnumListNames, - typeName, - propertyEntryMap['default'], - false, - ); + allEnumNames, allEnumListNames, typeName.toString(), false); final dateToJsonValue = generateToJsonForDate(propertyEntryMap); @@ -378,13 +372,8 @@ abstract class SwaggerModelsGenerator extends SwaggerGeneratorBase { return '\t$jsonKeyContent\tfinal $typeName ${generateFieldName(propertyName)};'; } - String generateUnknownEnumValue( - List allEnumNames, - List allEnumListNames, - String typeName, - dynamic defaultValue, - bool isList, - ) { + String generateUnknownEnumValue(List allEnumNames, + List allEnumListNames, String typeName, bool isList) { typeName = getValidatedClassName(typeName); if (allEnumListNames.contains(typeName)) { @@ -392,26 +381,12 @@ abstract class SwaggerModelsGenerator extends SwaggerGeneratorBase { } if (allEnumNames.contains(typeName)) { - var defaultValueString = ''; - if (defaultValue != null) { - if (isList && defaultValue is List) { - final defaultValues = defaultValue - .map((e) => '$typeName.${e.toString().camelCase}') - .join(', '); - defaultValueString = '[$defaultValues]'; - } else { - final defaultValueCamelCase = defaultValue?.toString().camelCase; - defaultValueString = '$typeName.$defaultValueCamelCase'; - } - defaultValueString = ', defaultValue: $defaultValueString'; - } - if (!isList) { final enumNameCamelCase = typeName.replaceAll('enums.', '').camelCase; - return ', toJson: ${enumNameCamelCase}ToJson, fromJson: ${enumNameCamelCase}FromJson$defaultValueString'; + return ', toJson: ${enumNameCamelCase}ToJson, fromJson: ${enumNameCamelCase}FromJson'; } else { final enumNameCamelCase = typeName.replaceAll('enums.', '').camelCase; - return ', toJson: ${enumNameCamelCase}ListToJson, fromJson: ${enumNameCamelCase}ListFromJson$defaultValueString'; + return ', toJson: ${enumNameCamelCase}ListToJson, fromJson: ${enumNameCamelCase}ListFromJson'; } } @@ -464,12 +439,7 @@ abstract class SwaggerModelsGenerator extends SwaggerGeneratorBase { } final unknownEnumValue = generateUnknownEnumValue( - allEnumNames, - allEnumListNames, - typeName, - propertyEntryMap['default'], - false, - ); + allEnumNames, allEnumListNames, typeName, false); final dateToJsonValue = generateToJsonForDate(propertyEntryMap); @@ -499,20 +469,14 @@ abstract class SwaggerModelsGenerator extends SwaggerGeneratorBase { if (allOf.length != 1) { typeName = kDynamic; } else { - var className = allOf.first['\$ref'].toString().getRef(); - - final enumClassName = 'enums.$className'; - if (allEnumNames.contains(enumClassName)) { - className = enumClassName; - } - - typeName = getValidatedClassName(className); + typeName = + getValidatedClassName(allOf.first['\$ref'].toString().getRef()); } final includeIfNullString = generateIncludeIfNullString(); - final unknownEnumValue = generateUnknownEnumValue(allEnumNames, - allEnumListNames, typeName, propertyEntryMap['default'], false); + final unknownEnumValue = generateUnknownEnumValue( + allEnumNames, allEnumListNames, typeName, false); final jsonKeyContent = "@JsonKey(name: '$propertyKey'$includeIfNullString$unknownEnumValue)\n"; @@ -557,12 +521,7 @@ abstract class SwaggerModelsGenerator extends SwaggerGeneratorBase { } final unknownEnumValue = generateUnknownEnumValue( - allEnumNames, - allEnumListNames, - typeName, - propertyEntryMap['default'], - false, - ); + allEnumNames, allEnumListNames, typeName, false); if (allEnumListNames.contains(typeName)) { typeName = 'List<$typeName>'; @@ -595,12 +554,8 @@ abstract class SwaggerModelsGenerator extends SwaggerGeneratorBase { allEnumNames.add(enumName); final unknownEnumValue = generateUnknownEnumValue( - allEnumNames, - allEnumListNames, - enumName, - propertyEntryMap['default'], - false, - ).substring(2); + allEnumNames, allEnumListNames, enumName, false) + .substring(2); final includeIfNullString = generateIncludeIfNullString(); @@ -712,12 +667,7 @@ abstract class SwaggerModelsGenerator extends SwaggerGeneratorBase { ); final unknownEnumValue = generateUnknownEnumValue( - allEnumNames, - allEnumListNames, - typeName, - propertyEntryMap['default'], - true, - ); + allEnumNames, allEnumListNames, typeName, true); final includeIfNullString = generateIncludeIfNullString(); @@ -779,12 +729,7 @@ abstract class SwaggerModelsGenerator extends SwaggerGeneratorBase { } final unknownEnumValue = generateUnknownEnumValue( - allEnumNames, - allEnumListNames, - typeName, - val['default'], - false, - ); + allEnumNames, allEnumListNames, typeName, false); final dateToJsonValue = generateToJsonForDate(val); @@ -1032,52 +977,47 @@ abstract class SwaggerModelsGenerator extends SwaggerGeneratorBase { } } - String generateEnumFromJsonToJsonMethods( - List swaggerEnums, bool enumsCaseSensitive) { - return swaggerEnums + String genetateEnumFromJsonToJsonMethods( + List enumNames, bool enumsCaseSensitive) { + return enumNames .map((e) => generateEnumFromJsonToJson(e, enumsCaseSensitive)) .join('\n'); } - String generateEnumFromJsonToJson( - SwaggerEnum swaggerEnum, bool enumsCaseSensitive) { + String generateEnumFromJsonToJson(String enumName, bool enumsCaseSensitive) { final neededName = - getValidatedClassName(swaggerEnum.name.replaceFirst('enums.', '')); + getValidatedClassName(enumName.replaceFirst('enums.', '')); final toLowerCaseString = !enumsCaseSensitive ? '.toLowerCase()' : ''; - final type = swaggerEnum.isInteger ? 'int' : 'String'; - final defaultValue = swaggerEnum.isInteger ? 0 : '\'\''; return ''' -$type? ${neededName.camelCase}ToJson(enums.$neededName? ${neededName.camelCase}) { +String? ${neededName.camelCase}ToJson(enums.$neededName? ${neededName.camelCase}) { return enums.\$${neededName}Map[${neededName.camelCase}]; } enums.$neededName ${neededName.camelCase}FromJson(Object? ${neededName.camelCase}) { -${swaggerEnum.isInteger ? ''' if(${neededName.camelCase} is int) { return enums.\$${neededName}Map.entries - .firstWhere((element) => element.value == ${neededName.camelCase}, - orElse: () => const MapEntry(enums.$neededName.swaggerGeneratedUnknown, $defaultValue)) + .firstWhere((element) => element.value$toLowerCaseString == ${neededName.camelCase}.toString(), + orElse: () => const MapEntry(enums.$neededName.swaggerGeneratedUnknown, '')) .key; } -''' : ''' + if(${neededName.camelCase} is String) { return enums.\$${neededName}Map.entries .firstWhere((element) => element.value$toLowerCaseString == ${neededName.camelCase}$toLowerCaseString, - orElse: () => const MapEntry(enums.$neededName.swaggerGeneratedUnknown, $defaultValue)) + orElse: () => const MapEntry(enums.$neededName.swaggerGeneratedUnknown, '')) .key; + } -'''} return enums.$neededName.swaggerGeneratedUnknown; } - -List<$type> ${neededName.camelCase}ListToJson( +List ${neededName.camelCase}ListToJson( List? ${neededName.camelCase}) { if(${neededName.camelCase} == null) @@ -1325,11 +1265,8 @@ $allHashComponents; return currentProperties; } - List getAllEnumNames(Map map) => - getAllEnums(map).map((e) => e.name).toList(growable: false); - - List getAllEnums(Map map) { - final results = getEnumsFromRequests(map); + List getAllEnumNames(Map map) { + final results = getEnumNamesFromRequests(map); final components = map['components'] as Map?; @@ -1356,22 +1293,14 @@ $allHashComponents; schemas.forEach((className, map) { final mapMap = map as Map; if (mapMap.containsKey('enum')) { - _addEnum( - outResults: results, - name: getValidatedClassName(className.capitalize), - map: mapMap, - ); + results.add(getValidatedClassName(className.capitalize)); return; } if (mapMap['type'] == 'array' && mapMap['items'] != null && mapMap['items']['enum'] != null) { - _addEnum( - outResults: results, - name: getValidatedClassName(className.capitalize), - map: mapMap, - ); + results.add(getValidatedClassName(className.capitalize)); return; } @@ -1418,12 +1347,12 @@ $allHashComponents; return; } - _addEnum( - outResults: results, - name: getValidatedClassName( - generateEnumName(getValidatedClassName(className), propertyName)), - map: propertyValue, - ); + if (propertyValue.containsKey('enum') || + (propertyValue['items'] != null && + propertyValue['items']['enum'] != null)) { + results.add(getValidatedClassName(generateEnumName( + getValidatedClassName(className), propertyName))); + } }); }); @@ -1435,11 +1364,7 @@ $allHashComponents; final schema = firstContent == null ? null : firstContent['schema']; if (schema != null && (schema as Map).containsKey('enum')) { - _addEnum( - outResults: results, - name: className, - map: schema, - ); + results.add(className.capitalize); return; } final properties = schema == null @@ -1451,13 +1376,13 @@ $allHashComponents; } properties.forEach((propertyName, propertyValue) { - final property = propertyValue as Map; + var property = propertyValue as Map; - _addEnum( - outResults: results, - name: generateEnumName(className, propertyName), - map: property, - ); + if (property.containsKey('enum') || + (property['items'] != null && + property['items']['enum'] != null)) { + results.add(generateEnumName(className, propertyName)); + } }); }); } @@ -1470,11 +1395,7 @@ $allHashComponents; final schema = firstContent == null ? null : firstContent['schema']; if (schema != null && (schema as Map).containsKey('enum')) { - _addEnum( - outResults: results, - name: schema['name'] as String, - map: schema, - ); + results.add(className.capitalize); return; } final properties = schema == null @@ -1488,39 +1409,22 @@ $allHashComponents; properties.forEach((propertyName, propertyValue) { var property = propertyValue as Map; - _addEnum( - outResults: results, - name: generateEnumName(className, propertyName), - map: property, - ); + if (property.containsKey('enum') || + (property['items'] != null && + property['items']['enum'] != null)) { + results.add(generateEnumName(className, propertyName)); + } }); }); } final resultsWithPrefix = results.map((element) { - return SwaggerEnum( - name: 'enums.${element.name}', - isInteger: element.isInteger, - ); + return 'enums.$element'; }).toList(); return resultsWithPrefix; } - void _addEnum({ - required List outResults, - required String name, - required Map map, - }) { - final enums = map['enum'] ?? map['items']?['enum']; - if (enums is List) { - final isInteger = - kIntegerTypes.contains(map['type'] ?? map['items']?['type']) || - enums.firstOrNull is int; - outResults.add(SwaggerEnum(name: name, isInteger: isInteger)); - } - } - Map getRequestBodiesFromRequests(Map map) { final paths = map['paths'] as Map? ?? {}; if (paths.isEmpty) { diff --git a/lib/src/code_generators/v2/swagger_models_generator_v2.dart b/lib/src/code_generators/v2/swagger_models_generator_v2.dart index 9ec9b464..374ccf89 100644 --- a/lib/src/code_generators/v2/swagger_models_generator_v2.dart +++ b/lib/src/code_generators/v2/swagger_models_generator_v2.dart @@ -23,7 +23,7 @@ class SwaggerModelsGeneratorV2 extends SwaggerModelsGenerator { @override List getAllListEnumNames(Map map) { - final results = getEnumsFromRequests(map).map((e) => e.name).toList(); + final results = getEnumNamesFromRequests(map); final definitions = map['definitions'] as Map?; diff --git a/lib/src/code_generators/v3/swagger_models_generator_v3.dart b/lib/src/code_generators/v3/swagger_models_generator_v3.dart index a9281a17..04b0bd3d 100644 --- a/lib/src/code_generators/v3/swagger_models_generator_v3.dart +++ b/lib/src/code_generators/v3/swagger_models_generator_v3.dart @@ -152,7 +152,7 @@ class SwaggerModelsGeneratorV3 extends SwaggerModelsGenerator { @override List getAllListEnumNames(Map map) { - final results = getEnumsFromRequests(map).map((e) => e.name).toList(); + final results = getEnumNamesFromRequests(map); final components = map['components'] as Map?; diff --git a/lib/src/models/swagger_enum.dart b/lib/src/models/swagger_enum.dart deleted file mode 100644 index 3764ae17..00000000 --- a/lib/src/models/swagger_enum.dart +++ /dev/null @@ -1,31 +0,0 @@ -import 'package:swagger_dart_code_generator/src/code_generators/constants.dart'; - -class SwaggerEnum { - const SwaggerEnum({ - required this.name, - required this.isInteger, - }); - - SwaggerEnum.fromSchema(Map schema) - : name = schema['name'] as String, - isInteger = kIntegerTypes.contains(schema['type']); - - final String name; - - /// Enums are either int or string - final bool isInteger; - - @override - bool operator ==(Object other) => - identical(this, other) || - other is SwaggerEnum && - runtimeType == other.runtimeType && - name == other.name && - isInteger == other.isInteger; - - @override - int get hashCode => name.hashCode ^ isInteger.hashCode; - - @override - String toString() => '{name: $name, isInteger: $isInteger}'; -} diff --git a/test/code_examples.dart b/test/code_examples.dart index 99d9ac04..91c6d77c 100644 --- a/test/code_examples.dart +++ b/test/code_examples.dart @@ -564,175 +564,6 @@ const String schemasWithEnumsInProperties = ''' } '''; -const String schemasWithIntegers = ''' -{ - "openapi": "3.0.1", - "info": { - "title": "Some service", - "version": "1.0" - }, - "components": { - "schemas": { - "AccountType": { - "title": "AccountType", - "enum": [ - 0, - 1, - 2, - 6 - ], - "type": "integer", - "description": "An enumeration." - }, - "SpaSchema": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Some description" - }, - "showPageAvailable": { - "type": "boolean", - "description": "Flag indicating showPage availability" - }, - "successValues": { - "items": { - "enum": [ - 1, 2 - ], - "type": "integer" - } - } - } - } - }, - "responses": { - "SpaResponse": { - "description": "Success", - "content": { - "application/json": { - "schema": { - "enum": [ - 1, 1 - ], - "type": "integer" - } - } - } - }, - "SpaEnumResponse": { - "description": "Success", - "content": { - "application/json": { - "schema": { - "properties": { - "failedValued": { - "items": { - "enum": [ - 1, 2 - ], - "type": "integer" - } - } - } - } - } - } - } - } - } -} -'''; - -const String schemasWithEnumsFromAllOf = ''' -{ - "openapi": "3.0.1", - "info": { - "title": "Some service", - "version": "1.0" - }, - "components": { - "schemas": { - "Success": { - "title": "Success", - "enum": [ - "one", - "two" - ], - "type": "string", - "description": "An enumeration." - } - }, - "responses": { - "SpaEnumResponse": { - "description": "Success", - "content": { - "application/json": { - "schema": { - "properties": { - "success": { - "allOf": [ - { - "$ref": "#/components/schemas/Success" - } - ], - "description": "The type of client validation for this field", - "default": "one" - } - } - } - } - } - } - } - } -} -'''; - -const String schemasWithEnumList = ''' -{ - "openapi": "3.0.1", - "info": { - "title": "Some service", - "version": "1.0" - }, - "components": { - "schemas": { - "Success": { - "title": "Success", - "enum": [ - "one", - "two" - ], - "type": "string", - "description": "An enumeration." - } - }, - "responses": { - "SpaEnumResponse": { - "description": "Success", - "content": { - "application/json": { - "schema": { - "properties": { - "successes": { - "items": { - "$ref": "#/components/schemas/Success" - }, - "description": "The type of client validation for this field", - "type": "array", - "default": ["one", "two"] - } - } - } - } - } - } - } - } -} -'''; - const String requestWithReturnTypeInjected = ''' { "paths": { diff --git a/test/generator_tests/enums_generator_test.dart b/test/generator_tests/enums_generator_test.dart index 6878b353..97e7926f 100644 --- a/test/generator_tests/enums_generator_test.dart +++ b/test/generator_tests/enums_generator_test.dart @@ -80,15 +80,15 @@ void main() { test('Should remove numbers at beginning if it is key word', () { final map = jsonDecode(requestWithEnum) as Map; - final result = generator.getEnumsFromRequests(map); - expect(result[0].name, equals('PetsPetIdItemsGetContentType')); + final result = generator.getEnumNamesFromRequests(map); + expect(result[0], equals('PetsPetIdItemsGetContentType')); }); test('Should remove numbers at beginning if it is key word', () { final map = jsonDecode(requestWithListOfEnumInParameter) as Map; - final result = generator.getEnumsFromRequests(map); - expect(result[0].name, equals('V3OrderOrderIdStatePutOrderStateRequest')); + final result = generator.getEnumNamesFromRequests(map); + expect(result[0], equals('V3OrderOrderIdStatePutOrderStateRequest')); }); }); diff --git a/test/generator_tests/models_generator_test.dart b/test/generator_tests/models_generator_test.dart index 6d34ca58..589c76d4 100644 --- a/test/generator_tests/models_generator_test.dart +++ b/test/generator_tests/models_generator_test.dart @@ -3,9 +3,7 @@ import 'dart:convert'; import 'package:swagger_dart_code_generator/src/code_generators/v2/swagger_models_generator_v2.dart'; import 'package:swagger_dart_code_generator/src/code_generators/v3/swagger_models_generator_v3.dart'; import 'package:swagger_dart_code_generator/src/models/generator_options.dart'; -import 'package:swagger_dart_code_generator/src/models/swagger_enum.dart'; import 'package:test/test.dart'; - import '../code_examples.dart'; void main() { @@ -787,94 +785,6 @@ void main() { expect(result, contains('enums.SpaEnumResponseFailedValued')); }); }); - - group('Tests for getAllEnums', () { - test('Should get enums with integer return types', () { - final map = jsonDecode(schemasWithIntegers) as Map; - final result = generator.getAllEnums(map); - - expect( - result, - contains(SwaggerEnum(name: 'enums.AccountType', isInteger: true)), - ); - }); - - test('Should get enums with integer return types in properties', () { - final map = jsonDecode(schemasWithIntegers) as Map; - final result = generator.getAllEnums(map); - - expect( - result, - contains( - SwaggerEnum(name: 'enums.SpaSchemaSuccessValues', isInteger: true), - ), - ); - }); - - test('Should get enums with integer return types in response', () { - final map = jsonDecode(schemasWithIntegers) as Map; - final result = generator.getAllEnums(map); - - expect( - result, - contains( - SwaggerEnum(name: 'enums.SpaResponse', isInteger: true), - ), - ); - }); - - test('Should get enums with integer return types in response properties', - () { - final map = jsonDecode(schemasWithIntegers) as Map; - final result = generator.getAllEnums(map); - - expect( - result, - contains( - SwaggerEnum( - name: 'enums.SpaEnumResponseFailedValued', - isInteger: true, - ), - ), - ); - }); - }); - - group('Tests allOf enums', () { - test('Class properties should get enums. prefix', () { - final map = jsonDecode(schemasWithEnumsFromAllOf) as Map; - final result = generator.generateResponses(map, 'fileName'); - - expect(result, contains('final enums.Success? success')); - }); - }); - - group('Tests for enum default values', () { - test('Enums should have default values', () { - final map = jsonDecode(schemasWithEnumsFromAllOf) as Map; - final result = generator.generateResponses(map, 'fileName'); - - expect( - result, - contains( - '@JsonKey(name: \'success\', toJson: successToJson, fromJson: successFromJson, defaultValue: enums.Success.one)', - ), - ); - }); - - test('Enum list should have default values', () { - final map = jsonDecode(schemasWithEnumList) as Map; - final result = generator.generateResponses(map, 'fileName'); - - expect( - result, - contains( - '@JsonKey(name: \'successes\', toJson: successListToJson, fromJson: successListFromJson, defaultValue: [enums.Success.one, enums.Success.two])', - ), - ); - }); - }); - group('Tests for models from responses', () { test('Should generate correct model from response', () { final map =