@@ -143,6 +143,20 @@ def delete(context, _name); end
143143 expect ( type_def ) . to receive ( :check_schema ) . never
144144 provider . set ( context , changes )
145145 end
146+
147+ context 'when the namevar is not name' do
148+ let ( :is_values ) { { key : 'title' , ensure : 'present' } }
149+ let ( :should_values ) { { key : 'title' , ensure : 'present' } }
150+
151+ before ( :each ) do
152+ allow ( type_def ) . to receive ( :namevars ) . and_return ( [ :key ] )
153+ end
154+
155+ it 'calls update once' do
156+ expect ( provider ) . to receive ( :update ) . with ( context , 'title' , should_values ) . once
157+ provider . set ( context , changes )
158+ end
159+ end
146160 end
147161
148162 context 'with a single change to update a resource without :is supplied' do
@@ -196,6 +210,20 @@ def delete(context, _name); end
196210 provider . set ( context , changes )
197211 end
198212 end
213+
214+ context 'when the namevar is not name' do
215+ let ( :is_values ) { [ { key : 'title' , ensure : 'present' } ] }
216+ let ( :should_values ) { { key : 'title' , ensure : 'present' } }
217+
218+ before ( :each ) do
219+ allow ( type_def ) . to receive ( :namevars ) . and_return ( [ :key ] )
220+ end
221+
222+ it 'calls update once' do
223+ expect ( provider ) . to receive ( :update ) . with ( context , 'title' , should_values ) . once
224+ provider . set ( context , changes )
225+ end
226+ end
199227 end
200228
201229 context 'with a single change to update a resource with an optional ensure' do
@@ -263,6 +291,20 @@ def delete(context, _name); end
263291 expect ( provider ) . to receive ( :get ) . never
264292 provider . set ( context , changes )
265293 end
294+
295+ context 'when the namevar is not name' do
296+ let ( :is_values ) { { key : 'title' , ensure : 'present' } }
297+ let ( :should_values ) { { key : 'title' , ensure : 'absent' } }
298+
299+ before ( :each ) do
300+ allow ( type_def ) . to receive ( :namevars ) . and_return ( [ :key ] )
301+ end
302+
303+ it 'calls delete once' do
304+ expect ( provider ) . to receive ( :delete ) . with ( context , 'title' ) . once
305+ provider . set ( context , changes )
306+ end
307+ end
266308 end
267309
268310 context 'with a single change to delete a resource without :is supplied' do
@@ -314,6 +356,20 @@ def delete(context, _name); end
314356 provider . set ( context , changes )
315357 end
316358 end
359+
360+ context 'when the namevar is not name' do
361+ let ( :is_values ) { [ { key : 'title' , ensure : 'present' } ] }
362+ let ( :should_values ) { { key : 'title' , ensure : 'absent' } }
363+
364+ before ( :each ) do
365+ allow ( type_def ) . to receive ( :namevars ) . and_return ( [ :key ] )
366+ end
367+
368+ it 'calls delete once' do
369+ expect ( provider ) . to receive ( :delete ) . with ( context , 'title' ) . once
370+ provider . set ( context , changes )
371+ end
372+ end
317373 end
318374
319375 context 'with multiple changes' do
0 commit comments