Projet

Général

Profil

0002-environment-update-label-on-re-created-variables-321.patch

Nicolas Roche, 27 juin 2022 10:29

Télécharger (2,97 ko)

Voir les différences:

Subject: [PATCH 2/4] environment: update label on re-created variables
 (#32147)

 hobo/environment/views.py |  1 +
 tests/test_environment.py | 20 ++++++++++++++++++++
 2 files changed, 21 insertions(+)
hobo/environment/views.py
94 94
            service_kwargs = {'service_pk__isnull': True}
95 95
        try:
96 96
            self.object = Variable.objects.get(name=form.instance.name, **service_kwargs)
97 97
        except Variable.DoesNotExist:
98 98
            self.object = form.save()
99 99
        else:
100 100
            self.object.auto = False
101 101
            self.object.deleted = False
102
            self.object.label = form.instance.label
102 103
            self.object.value = form.instance.value
103 104
            self.object.save()
104 105
        return HttpResponseRedirect(self.get_success_url())
105 106

  
106 107
    def get_success_url(self):
107 108
        if self.object.service is None:
108 109
            return reverse_lazy('environment-variables')
109 110
        return reverse_lazy('environment-home')
tests/test_environment.py
249 249
    assert response.html.find('h2').text == 'Removal of "foo"'
250 250
    response = response.form.submit()
251 251
    assert response.location == '/sites/variables'
252 252
    assert Variable.objects.count() == 1
253 253
    assert Variable.objects.first().value == None
254 254
    assert Variable.objects.first().deleted is True
255 255

  
256 256

  
257
def test_variable_renew_view(app, admin_user):
258
    app = login(app)
259
    var = Variable.objects.create(name='foo', label='bar', value='baz')
260
    assert var.deleted is False
261
    response = app.get('/sites/delete-variable/%s' % var.pk)
262
    assert response.html.find('h2').text == 'Removal of "foo"'
263
    response = response.form.submit()
264
    assert Variable.objects.first().deleted is True
265
    response = app.get('/sites/new-variable')
266
    response.form['name'] = 'foo'
267
    response.form['label'] = 'barbar'
268
    response.form['value'] = 'bazbaz'
269
    response = response.form.submit()
270
    assert response.location == '/sites/variables'
271
    assert Variable.objects.first().deleted is False
272
    assert Variable.objects.all()[0].name == 'foo'
273
    assert Variable.objects.all()[0].label == 'barbar'
274
    assert Variable.objects.all()[0].value == 'bazbaz'
275

  
276

  
257 277
def test_service_update_view(app, admin_user):
258 278
    app = login(app)
259 279
    Combo.objects.create(
260 280
        base_url='https://combo.agglo.love', template_name='...portal-user...', slug='portal'
261 281
    )
262 282
    response = app.get('/sites/save-combo/portal')
263 283
    response.form['title'] = 'foobar'
264 284
    response = response.form.submit()
265
-