@@ -38,7 +38,8 @@ func TestGetProject(t *testing.T) {
3838 assert .Equal (t , ProjectID , project .ID )
3939 assert .Equal (t , ProjectUUID , project .UUID )
4040 assert .Equal (t , "project-1" , project .Name )
41- assert .Equal (t , true , project .EnforceFeatureOwners )
41+ assert .NotNil (t , project .EnforceFeatureOwners )
42+ assert .Equal (t , true , * project .EnforceFeatureOwners )
4243
4344}
4445
@@ -80,6 +81,38 @@ func TestCreateProjectByUUID(t *testing.T) {
8081 assert .Equal (t , "project-1" , project .Name )
8182
8283}
84+ func TestUpdateProjectEnforceFeatureOwnersFalse (t * testing.T ) {
85+ // Given
86+ enforceOwners := false
87+ project := flagsmithapi.Project {
88+ ID : ProjectID ,
89+ Name : ProjectName ,
90+ Organisation : OrganisationID ,
91+ EnforceFeatureOwners : & enforceOwners ,
92+ }
93+
94+ server := httptest .NewServer (http .HandlerFunc (func (rw http.ResponseWriter , req * http.Request ) {
95+ rawBody , err := io .ReadAll (req .Body )
96+ assert .NoError (t , err )
97+
98+ // Verify false is present in the payload (not omitted)
99+ assert .Contains (t , string (rawBody ), `"enforce_feature_owners":false` )
100+
101+ rw .Header ().Set ("Content-Type" , "application/json" )
102+ _ , err = io .WriteString (rw , GetProjectResponseJson )
103+ assert .NoError (t , err )
104+ }))
105+ defer server .Close ()
106+
107+ client := flagsmithapi .NewClient (MasterAPIKey , server .URL + "/api/v1" )
108+
109+ // When
110+ err := client .UpdateProject (& project )
111+
112+ // Then
113+ assert .NoError (t , err )
114+ }
115+
83116func TestUpdateProject (t * testing.T ) {
84117 // Given
85118 project := flagsmithapi.Project {
0 commit comments