Skip to content

Commit

Permalink
Add tests
Browse files Browse the repository at this point in the history
Signed-off-by: Jono Yang <[email protected]>
  • Loading branch information
JonoYang committed Nov 14, 2023
1 parent e62fff9 commit f99e2b7
Show file tree
Hide file tree
Showing 2 changed files with 86 additions and 5 deletions.
9 changes: 4 additions & 5 deletions packagedb/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,6 @@ def paginated(self, per_page=5000):
yield object



VCS_CHOICES = [
('git', 'git'),
('svn', 'subversion'),
Expand Down Expand Up @@ -653,11 +652,11 @@ def update_field(self, field, value, save=False):
setattr(self, field, value)
# Update history
if field in date_fields:
p_val = str(p_val)
package_value = str(package_value)
value = str(value)
entry = dict(
field=field,
old_value=p_val,
old_value=package_value,
new_value=value,
)
updated_field = field
Expand Down Expand Up @@ -699,11 +698,11 @@ def update_fields(self, save=False, **values_by_fields):
setattr(self, field, value)
# Update history
if field in date_fields:
p_val = str(p_val)
package_value = str(package_value)
value = str(value)
entry = dict(
field=field,
old_value=p_val,
old_value=package_value,
new_value=value,
)
updated_fields.append(field)
Expand Down
82 changes: 82 additions & 0 deletions packagedb/tests/test_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -141,3 +141,85 @@ def test_packagedb_package_model_get_latest_version(self):
self.assertEqual(p3, p2.get_latest_version())
self.assertEqual(p3, p3.get_latest_version())
self.assertEqual(p4, p4.get_latest_version())

def test_packagedb_package_model_update_field(self):
p1 = Package.objects.create(download_url='http://a.a', name='name', version='1.0')
self.assertFalse(p1.history)
self.assertEquals('', p1.namespace)
package, updated_field = p1.update_field(field='namespace', value='test')
self.assertEqual(updated_field, 'namespace')
self.assertEqual('test', p1.namespace)
self.assertEqual(1, len(p1.history))
expected_history_entry = {
'message': 'Package field values have been updated.',
'data': {
'updated_fields':
[
{
'field': 'namespace',
'old_value': '',
'new_value': 'test'
}
]
}
}
history_entry = p1.history[0]
history_entry.pop('timestamp')
self.assertEqual(expected_history_entry, history_entry)

def test_packagedb_package_model_update_field(self):
p1 = Package.objects.create(download_url='http://a.a', name='name', version='1.0')
self.assertFalse(p1.history)
self.assertEquals('', p1.namespace)
package, updated_field = p1.update_field(field='namespace', value='test')
self.assertEqual(updated_field, 'namespace')
self.assertEqual('test', p1.namespace)
self.assertEqual(1, len(p1.history))
expected_history_entry = {
'message': 'Package field values have been updated.',
'data': {
'updated_fields':
[
{
'field': 'namespace',
'old_value': '',
'new_value': 'test'
}
]
}
}
history_entry = p1.history[0]
history_entry.pop('timestamp')
self.assertEqual(expected_history_entry, history_entry)

def test_packagedb_package_model_update_fields(self):
p1 = Package.objects.create(download_url='http://a.a', name='name', version='1.0')
self.assertFalse(p1.history)
self.assertEquals('', p1.namespace)
self.assertEquals(None, p1.homepage_url)
package, updated_fields = p1.update_fields(namespace='test', homepage_url='https://example.com')
self.assertEqual(updated_fields, ['namespace', 'homepage_url'])
self.assertEqual('test', p1.namespace)
self.assertEqual('https://example.com', p1.homepage_url)
self.assertEqual(1, len(p1.history))
expected_history_entry = {
'message': 'Package field values have been updated.',
'data': {
'updated_fields':
[
{
'field': 'namespace',
'old_value': '',
'new_value': 'test'
},
{
'field': 'homepage_url',
'old_value': None,
'new_value': 'https://example.com'
}
]
}
}
history_entry = p1.history[0]
history_entry.pop('timestamp')
self.assertEqual(expected_history_entry, history_entry)

0 comments on commit f99e2b7

Please sign in to comment.