mirror of
https://github.com/foss42/apidash.git
synced 2025-05-26 02:36:31 +08:00
221 lines
9.1 KiB
Dart
221 lines
9.1 KiB
Dart
import 'package:test/test.dart';
|
|
import 'package:apidash/models/models.dart';
|
|
import 'package:apidash/consts.dart';
|
|
|
|
import 'environment_models.dart';
|
|
|
|
void main() {
|
|
group("Testing EnvironmentModel", () {
|
|
test("Testing EnvironmentModel copyWith", () {
|
|
var environmentModel = environmentModel1;
|
|
final environmentModelcopyWith =
|
|
environmentModel.copyWith(name: 'Production');
|
|
expect(environmentModelcopyWith.name, 'Production');
|
|
// original model unchanged
|
|
expect(environmentModel.name, 'Development');
|
|
});
|
|
|
|
test("Testing EnvironmentModel toJson", () {
|
|
var environmentModel = environmentModel1;
|
|
expect(environmentModel.toJson(), environmentModel1Json);
|
|
});
|
|
|
|
test("Testing EnvironmentModel fromJson", () {
|
|
var environmentModel = environmentModel1;
|
|
final modelFromJson = EnvironmentModel.fromJson(environmentModel1Json);
|
|
expect(modelFromJson, environmentModel);
|
|
expect(modelFromJson.values, const [
|
|
EnvironmentVariableModel(
|
|
key: 'key1',
|
|
value: 'value1',
|
|
type: EnvironmentVariableType.variable,
|
|
enabled: true,
|
|
),
|
|
EnvironmentVariableModel(
|
|
key: 'key2',
|
|
value: 'value2',
|
|
type: EnvironmentVariableType.variable,
|
|
enabled: false,
|
|
),
|
|
]);
|
|
});
|
|
|
|
test("Testing EnvironmentModel getters", () {
|
|
var environmentModel = environmentModel1;
|
|
expect(environmentModel.values, const [
|
|
EnvironmentVariableModel(
|
|
key: 'key1',
|
|
value: 'value1',
|
|
type: EnvironmentVariableType.variable,
|
|
enabled: true,
|
|
),
|
|
EnvironmentVariableModel(
|
|
key: 'key2',
|
|
value: 'value2',
|
|
type: EnvironmentVariableType.variable,
|
|
enabled: false,
|
|
),
|
|
]);
|
|
expect(environmentModel.name, 'Development');
|
|
expect(environmentModel.id, 'environmentId');
|
|
});
|
|
|
|
test("Testing EnvironmentModel immutability", () {
|
|
var testEnvironmentModel = environmentModel1;
|
|
final testEnvironmentModel2 =
|
|
testEnvironmentModel.copyWith(values: testEnvironmentModel.values);
|
|
expect(testEnvironmentModel2.values, testEnvironmentModel.values);
|
|
|
|
expect(
|
|
identical(testEnvironmentModel.values, testEnvironmentModel2.values),
|
|
false);
|
|
var testEnvironmentModel3 = testEnvironmentModel.copyWith(values: []);
|
|
expect(testEnvironmentModel3.values, []);
|
|
});
|
|
});
|
|
|
|
group("Testing EnvironmentVariableModel", () {
|
|
test("Testing EnvironmentVariableModel copyWith", () {
|
|
var environmentVariableModel = environmentVariableModel1;
|
|
final environmentVariableModelcopyWith = environmentVariableModel
|
|
.copyWith(key: 'key3', value: 'value3', enabled: false);
|
|
expect(environmentVariableModelcopyWith.key, 'key3');
|
|
expect(environmentVariableModelcopyWith.value, 'value3');
|
|
expect(environmentVariableModelcopyWith.enabled, false);
|
|
// original model unchanged
|
|
expect(environmentVariableModel.key, 'key1');
|
|
expect(environmentVariableModel.value, 'value1');
|
|
expect(environmentVariableModel.enabled, true);
|
|
});
|
|
|
|
test("Testing EnvironmentVariableModel toJson", () {
|
|
var environmentVariable = environmentVariableModel1;
|
|
expect(environmentVariable.toJson(), environmentVariableModel1Json);
|
|
|
|
var environmentSecret = environmentVariableModel2;
|
|
expect(environmentSecret.toJson(), environmentVariableModel2Json);
|
|
});
|
|
|
|
test("Testing EnvironmentVariableModel fromJson", () {
|
|
var environmentVariableModel = environmentVariableModel1;
|
|
final modelFromJson =
|
|
EnvironmentVariableModel.fromJson(environmentVariableModel1Json);
|
|
expect(modelFromJson, environmentVariableModel);
|
|
});
|
|
|
|
test("Testing EnvironmentVariableModel getters", () {
|
|
var environmentVariableModel = environmentVariableModel1;
|
|
expect(environmentVariableModel.key, 'key1');
|
|
expect(environmentVariableModel.value, 'value1');
|
|
expect(environmentVariableModel.enabled, true);
|
|
});
|
|
|
|
test("Testing EnvironmentVariableModel immutability", () {
|
|
var testEnvironmentVariableModel = environmentVariableModel1;
|
|
final testEnvironmentVariableModel2 =
|
|
testEnvironmentVariableModel.copyWith(key: 'key2');
|
|
expect(testEnvironmentVariableModel2.key, 'key2');
|
|
expect(testEnvironmentVariableModel2.value, 'value1');
|
|
expect(testEnvironmentVariableModel2.enabled, true);
|
|
|
|
expect(
|
|
identical(
|
|
testEnvironmentVariableModel, testEnvironmentVariableModel2),
|
|
false);
|
|
});
|
|
});
|
|
|
|
group("Testing EnvironmentVariableSuggestionModel", () {
|
|
test("Testing EnvironmentVariableSuggestionModel copyWith", () {
|
|
var environmentVariableSuggestionModel = environmentVariableSuggestion1;
|
|
|
|
// Test case where all fields are provided
|
|
final environmentVariableSuggestionModelCopyWithAllFields =
|
|
environmentVariableSuggestionModel.copyWith(
|
|
environmentId: 'environmentId2',
|
|
variable: environmentVariableModel2,
|
|
isUnknown: true);
|
|
expect(environmentVariableSuggestionModelCopyWithAllFields.environmentId,
|
|
'environmentId2');
|
|
expect(environmentVariableSuggestionModelCopyWithAllFields.variable,
|
|
environmentVariableModel2);
|
|
expect(
|
|
environmentVariableSuggestionModelCopyWithAllFields.isUnknown, true);
|
|
|
|
// Test case where no fields are provided (should return the same object)
|
|
final environmentVariableSuggestionModelCopyWithNoFields =
|
|
environmentVariableSuggestionModel.copyWith();
|
|
expect(environmentVariableSuggestionModelCopyWithNoFields.environmentId,
|
|
environmentVariableSuggestionModel.environmentId);
|
|
expect(environmentVariableSuggestionModelCopyWithNoFields.variable,
|
|
environmentVariableSuggestionModel.variable);
|
|
expect(environmentVariableSuggestionModelCopyWithNoFields.isUnknown,
|
|
environmentVariableSuggestionModel.isUnknown);
|
|
|
|
// Test case where only environmentId is provided
|
|
final environmentVariableSuggestionModelCopyWithEnvironmentId =
|
|
environmentVariableSuggestionModel.copyWith(
|
|
environmentId: 'environmentId2');
|
|
expect(
|
|
environmentVariableSuggestionModelCopyWithEnvironmentId.environmentId,
|
|
'environmentId2');
|
|
expect(environmentVariableSuggestionModelCopyWithEnvironmentId.variable,
|
|
environmentVariableSuggestionModel.variable);
|
|
expect(environmentVariableSuggestionModelCopyWithEnvironmentId.isUnknown,
|
|
environmentVariableSuggestionModel.isUnknown);
|
|
|
|
// Test case where only variable is provided
|
|
final environmentVariableSuggestionModelCopyWithVariable =
|
|
environmentVariableSuggestionModel.copyWith(
|
|
variable: environmentVariableModel2);
|
|
expect(environmentVariableSuggestionModelCopyWithVariable.environmentId,
|
|
environmentVariableSuggestionModel.environmentId);
|
|
expect(environmentVariableSuggestionModelCopyWithVariable.variable,
|
|
environmentVariableModel2);
|
|
expect(environmentVariableSuggestionModelCopyWithVariable.isUnknown,
|
|
environmentVariableSuggestionModel.isUnknown);
|
|
|
|
// Test case where only isUnknown is provided
|
|
final environmentVariableSuggestionModelCopyWithIsUnknown =
|
|
environmentVariableSuggestionModel.copyWith(isUnknown: true);
|
|
expect(environmentVariableSuggestionModelCopyWithIsUnknown.environmentId,
|
|
environmentVariableSuggestionModel.environmentId);
|
|
expect(environmentVariableSuggestionModelCopyWithIsUnknown.variable,
|
|
environmentVariableSuggestionModel.variable);
|
|
expect(
|
|
environmentVariableSuggestionModelCopyWithIsUnknown.isUnknown, true);
|
|
|
|
// Ensure the original model remains unchanged
|
|
expect(environmentVariableSuggestionModel.environmentId, 'environmentId');
|
|
expect(environmentVariableSuggestionModel.variable,
|
|
environmentVariableModel1);
|
|
expect(environmentVariableSuggestionModel.isUnknown, false);
|
|
});
|
|
|
|
test("Testing EnvironmentVariableSuggestionModel immutability", () {
|
|
var testEnvironmentVariableSuggestionModel =
|
|
environmentVariableSuggestion1;
|
|
final testEnvironmentVariableSuggestionModel2 =
|
|
testEnvironmentVariableSuggestionModel.copyWith(
|
|
environmentId: 'environmentId2',
|
|
variable: environmentVariableModel2,
|
|
isUnknown: true);
|
|
expect(testEnvironmentVariableSuggestionModel2.environmentId,
|
|
'environmentId2');
|
|
expect(testEnvironmentVariableSuggestionModel2.variable,
|
|
environmentVariableModel2);
|
|
expect(testEnvironmentVariableSuggestionModel2.isUnknown, true);
|
|
|
|
expect(
|
|
identical(testEnvironmentVariableSuggestionModel,
|
|
testEnvironmentVariableSuggestionModel2),
|
|
false);
|
|
});
|
|
|
|
test("Testing EnvironmentVariableSuggestionModel hashCode", () {
|
|
var environmentVariableSuggestionModel = environmentVariableSuggestion1;
|
|
expect(environmentVariableSuggestionModel.hashCode, greaterThan(0));
|
|
});
|
|
});
|
|
}
|