@@ -44,10 +44,13 @@ def test_update_traits_remove_traits_with_none_value(identity_in_segment):
4444 trait_to_remove = TraitModel (trait_key = trait_key , trait_value = None )
4545
4646 # When
47- updated_traits = identity_in_segment .update_traits ([trait_to_remove ])
47+ updated_traits , traits_updated = identity_in_segment .update_traits (
48+ [trait_to_remove ]
49+ )
4850
4951 # Then
5052 assert identity_in_segment .identity_traits == updated_traits == []
53+ assert traits_updated is True
5154
5255
5356def test_update_identity_traits_updates_trait_value (identity_in_segment ):
@@ -57,25 +60,48 @@ def test_update_identity_traits_updates_trait_value(identity_in_segment):
5760 trait_to_update = TraitModel (trait_key = trait_key , trait_value = trait_value )
5861
5962 # When
60- updated_traits = identity_in_segment .update_traits ([trait_to_update ])
63+ updated_traits , traits_updated = identity_in_segment .update_traits (
64+ [trait_to_update ]
65+ )
6166
6267 # Then
6368 assert updated_traits == identity_in_segment .identity_traits
6469 assert len (identity_in_segment .identity_traits ) == 1
6570 assert identity_in_segment .identity_traits [0 ] == trait_to_update
71+ assert traits_updated is True
6672
6773
6874def test_update_traits_adds_new_traits (identity_in_segment ):
6975 # Given
7076 new_trait = TraitModel (trait_key = "new_key" , trait_value = "foobar" )
7177
7278 # When
73- updated_traits = identity_in_segment .update_traits ([new_trait ])
79+ updated_traits , traits_updated = identity_in_segment .update_traits ([new_trait ])
7480
7581 # Then
7682 assert updated_traits == identity_in_segment .identity_traits
7783 assert len (identity_in_segment .identity_traits ) == 2
7884 assert new_trait in identity_in_segment .identity_traits
85+ assert traits_updated is True
86+
87+
88+ def test_update_traits_returns_false_if_traits_are_not_updated (identity_in_segment ):
89+ # Given
90+ trait_key = identity_in_segment .identity_traits [0 ].trait_key
91+ trait_value = identity_in_segment .identity_traits [0 ].trait_value
92+
93+ trait_to_update = TraitModel (trait_key = trait_key , trait_value = trait_value )
94+
95+ # When
96+ updated_traits , traits_updated = identity_in_segment .update_traits (
97+ [trait_to_update ]
98+ )
99+
100+ # Then
101+ assert updated_traits == identity_in_segment .identity_traits
102+ assert len (identity_in_segment .identity_traits ) == 1
103+ assert identity_in_segment .identity_traits [0 ] == trait_to_update
104+ assert traits_updated is False
79105
80106
81107def test_appending_feature_states_raises_duplicate_feature_state_if_fs_for_the_feature_already_exists (
0 commit comments