Skip to content

Commit 3d4bada

Browse files
Testing for more stable version logic.
1 parent df8e5cd commit 3d4bada

File tree

1 file changed

+110
-0
lines changed

1 file changed

+110
-0
lines changed

readthedocs/rtd_tests/tests/test_sync_versions.py

+110
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,116 @@ def test_stable_versions(self):
8181
self.assertTrue(version_stable.active)
8282
self.assertEqual(version_stable.identifier, '0.9')
8383

84+
def test_update_stable_version(self):
85+
version_post_data = {
86+
'branches': [
87+
{
88+
'identifier': 'origin/master',
89+
'verbose_name': 'master',
90+
},
91+
],
92+
'tags': [
93+
{
94+
'identifier': '0.9',
95+
'verbose_name': '0.9',
96+
},
97+
{
98+
'identifier': '0.8',
99+
'verbose_name': '0.8',
100+
},
101+
]
102+
}
103+
104+
self.client.post(
105+
'/api/v2/project/%s/sync_versions/' % self.pip.pk,
106+
data=json.dumps(version_post_data),
107+
content_type='application/json',
108+
)
109+
110+
version_stable = Version.objects.get(slug=STABLE)
111+
self.assertTrue(version_stable.active)
112+
self.assertEqual(version_stable.identifier, '0.9')
113+
114+
version_post_data = {
115+
'tags': [
116+
{
117+
'identifier': '1.0.0',
118+
'verbose_name': '1.0.0',
119+
},
120+
]
121+
}
122+
123+
self.client.post(
124+
'/api/v2/project/%s/sync_versions/' % self.pip.pk,
125+
data=json.dumps(version_post_data),
126+
content_type='application/json',
127+
)
128+
129+
version_stable = Version.objects.get(slug=STABLE)
130+
self.assertTrue(version_stable.active)
131+
self.assertEqual(version_stable.identifier, '1.0.0')
132+
133+
version_post_data = {
134+
'tags': [
135+
{
136+
'identifier': '0.7',
137+
'verbose_name': '0.7',
138+
},
139+
]
140+
}
141+
142+
self.client.post(
143+
'/api/v2/project/%s/sync_versions/' % self.pip.pk,
144+
data=json.dumps(version_post_data),
145+
content_type='application/json',
146+
)
147+
148+
version_stable = Version.objects.get(slug=STABLE)
149+
self.assertTrue(version_stable.active)
150+
self.assertEqual(version_stable.identifier, '1.0.0')
151+
152+
def test_update_inactive_stable_version(self):
153+
version_post_data = {
154+
'branches': [
155+
{
156+
'identifier': 'origin/master',
157+
'verbose_name': 'master',
158+
},
159+
],
160+
'tags': [
161+
{
162+
'identifier': '0.9',
163+
'verbose_name': '0.9',
164+
},
165+
]
166+
}
167+
168+
self.client.post(
169+
'/api/v2/project/%s/sync_versions/' % self.pip.pk,
170+
data=json.dumps(version_post_data),
171+
content_type='application/json',
172+
)
173+
174+
version_stable = Version.objects.get(slug=STABLE)
175+
self.assertEqual(version_stable.identifier, '0.9')
176+
version_stable.active = False
177+
version_stable.save()
178+
179+
version_post_data['tags'].append({
180+
'identifier': '1.0.0',
181+
'verbose_name': '1.0.0',
182+
})
183+
184+
self.client.post(
185+
'/api/v2/project/%s/sync_versions/' % self.pip.pk,
186+
data=json.dumps(version_post_data),
187+
content_type='application/json',
188+
)
189+
190+
version_stable = Version.objects.get(slug=STABLE)
191+
self.assertFalse(version_stable.active)
192+
self.assertEqual(version_stable.identifier, '1.0.0')
193+
84194
def test_new_tag_update_active(self):
85195

86196
Version.objects.create(project=self.pip, identifier='0.8.3',

0 commit comments

Comments
 (0)