1+ from submissions .models import Submission
12from submissions .tests .factories import SubmissionFactory
23from pytest import mark
34
45from i18n .strings import LazyI18nString
56
7+ pytestmark = mark .django_db
8+
69
7- @mark .django_db
810def test_slug_is_not_regenerated_when_changing_title ():
911 submission = SubmissionFactory (title = LazyI18nString ({"en" : "hello" , "it" : "hell" }))
1012 assert submission .slug == "hello"
@@ -15,3 +17,33 @@ def test_slug_is_not_regenerated_when_changing_title():
1517 submission .refresh_from_db ()
1618
1719 assert submission .slug == "hello"
20+
21+
22+ def test_syncs_pending_status_when_changing_status ():
23+ submission = SubmissionFactory (
24+ status = Submission .STATUS .accepted ,
25+ pending_status = Submission .STATUS .accepted ,
26+ )
27+
28+ submission .status = Submission .STATUS .rejected
29+ submission .save ()
30+
31+ submission .refresh_from_db ()
32+
33+ assert submission .status == Submission .STATUS .rejected
34+ assert submission .pending_status == Submission .STATUS .rejected
35+
36+
37+ def test_leaves_pending_status_unchanged_if_different ():
38+ submission = SubmissionFactory (
39+ status = Submission .STATUS .proposed ,
40+ pending_status = Submission .STATUS .rejected ,
41+ )
42+
43+ submission .status = Submission .STATUS .waiting_list
44+ submission .save ()
45+
46+ submission .refresh_from_db ()
47+
48+ assert submission .status == Submission .STATUS .waiting_list
49+ assert submission .pending_status == Submission .STATUS .rejected
0 commit comments