From ad12b4811a04cd87da5abb947749cb77871cd775 Mon Sep 17 00:00:00 2001 From: DenserMeerkat Date: Mon, 29 Jul 2024 23:20:44 +0530 Subject: [PATCH] fix: expand copyWith tests --- test/models/environment_models_test.dart | 57 +++++++++++++++++++++--- 1 file changed, 52 insertions(+), 5 deletions(-) diff --git a/test/models/environment_models_test.dart b/test/models/environment_models_test.dart index eb305147..8664b164 100644 --- a/test/models/environment_models_test.dart +++ b/test/models/environment_models_test.dart @@ -128,17 +128,64 @@ void main() { group("Testing EnvironmentVariableSuggestionModel", () { test("Testing EnvironmentVariableSuggestionModel copyWith", () { var environmentVariableSuggestionModel = environmentVariableSuggestion1; - final environmentVariableSuggestionModelcopyWith = + + // Test case where all fields are provided + final environmentVariableSuggestionModelCopyWithAllFields = environmentVariableSuggestionModel.copyWith( environmentId: 'environmentId2', variable: environmentVariableModel2, isUnknown: true); - expect(environmentVariableSuggestionModelcopyWith.environmentId, + expect(environmentVariableSuggestionModelCopyWithAllFields.environmentId, 'environmentId2'); - expect(environmentVariableSuggestionModelcopyWith.variable, + expect(environmentVariableSuggestionModelCopyWithAllFields.variable, environmentVariableModel2); - expect(environmentVariableSuggestionModelcopyWith.isUnknown, true); - // original model unchanged + 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);