Skip to content

Commit 6f3d60b

Browse files
committed
#126: more test fixes
1 parent 30410b7 commit 6f3d60b

File tree

7 files changed

+21
-14
lines changed

7 files changed

+21
-14
lines changed

test/writer/object_model_writer/custom-from-to/output.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ part 'person.g.dart';
88
@JsonSerializable(explicitToJson: true)
99
class Person {
1010
@JsonKey(name: 'time', fromJson: handleTimeFromJson, toJson: handleTimeToJson)
11-
Time? time;
11+
final Time? time;
1212

13-
Person({
13+
const Person({
1414
this.time,
1515
});
1616

test/writer/object_model_writer/extend-fields-twice/output.txt

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ class Admin extends User {
1212

1313
const Admin({
1414
required this.permission,
15-
required String name,
16-
required String email,
15+
String? email,
16+
String? name,
1717
}) : super(
18-
name: name,
1918
email: email,
19+
name: name,
2020
);
2121

2222
factory Admin.fromJson(Map<String, dynamic> json) => _$AdminFromJson(json);

test/writer/object_model_writer/extend-fields-with-non-dart-type/config.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ User:
33
type: object
44
extends: Person
55
properties:
6-
email: String?
6+
email: String
77

88
Person:
99
path: user/person/
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
User:
22
path: user/person/
3-
type: object
43
extends: Person
54
properties:
65
email: String
76

87
Person:
98
path: user/person/
10-
type: object
119
properties:
12-
name: String?
10+
name: String

test/writer/object_model_writer/unknown-enum-value/config.txt

+3-2
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@ Person:
22
path: user/person/
33
type: object
44
properties:
5-
firstName:
5+
gender:
66
include_if_null: false
7-
type: String?
7+
unknown_enum_value: X
8+
type: Gender
89
Gender:
910
path: user/person/
1011
type: enum

test/writer/object_model_writer/unknown-enum-value/output.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ part 'person.g.dart';
77

88
@JsonSerializable(explicitToJson: true)
99
class Person {
10-
@JsonKey(name: 'gender', required: true, unknownEnumValue: Gender.X)
10+
@JsonKey(name: 'gender', required: true, includeIfNull: false, unknownEnumValue: Gender.X)
1111
final Gender gender;
1212

1313
const Person({

test/writer/object_model_writer_test.dart

+10-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ import 'dart:io';
22

33
import 'package:model_generator/config/pubspec_config.dart';
44
import 'package:model_generator/config/yml_generator_config.dart';
5+
import 'package:model_generator/model/field.dart';
56
import 'package:model_generator/model/model/object_model.dart';
7+
import 'package:model_generator/util/list_extensions.dart';
68
import 'package:model_generator/writer/object_model_writer.dart';
79
import 'package:test/test.dart';
810

@@ -20,8 +22,14 @@ void main() {
2022
if (jsonModel is! ObjectModel) {
2123
throw Exception('The first model in the config file must be an object model and will be validated. The model is ${ymlConfig.models.first.runtimeType}');
2224
}
23-
24-
final generateActual = ObjectModelWriter(pubspecConfig, jsonModel, [], ymlConfig).write;
25+
final extendsModelfields = <Field>[];
26+
var extendsModelextends = jsonModel.extendsModel;
27+
while (extendsModelextends != null) {
28+
final extendsModelextendsModel = ymlConfig.models.firstWhereOrNull((element) => element.name == extendsModelextends) as ObjectModel?; // ignore: avoid_as
29+
extendsModelfields.addAll(extendsModelextendsModel?.fields ?? []);
30+
extendsModelextends = extendsModelextendsModel?.extendsModel;
31+
}
32+
final generateActual = ObjectModelWriter(pubspecConfig, jsonModel, extendsModelfields, ymlConfig).write;
2533
if (expected.startsWith('Exception')) {
2634
expect(generateActual, throwsA(isA<Exception>()));
2735
} else {

0 commit comments

Comments
 (0)