Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1371 certification type #13

Open
wants to merge 34 commits into
base: develop
Choose a base branch
from
Open

1371 certification type #13

wants to merge 34 commits into from

Conversation

sumandari
Copy link
Owner

for automating building image purpose

sumandari and others added 28 commits May 17, 2021 10:57
Fix dockerfile and documentation for dev env
…ning_member_500

Fix raising ValidationError in validate_email_address
…p_in_zip_sampledata

extract zipfile inside zipfile in sample data lesson
Copy link

@code-review-doctor code-review-doctor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Worth considering though. View full project report here.


# Navbar data
self.project_slug = self.kwargs.get('project_slug', None)
context = super(

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
context = super(
).get_context_data(*kwargs)

It's unnecessary to use arguments when calling super for the parent class. More info.

response = self.client.get(reverse(
'worksheet-sampledata', kwargs=self.kwargs_worksheet_full))
self.assertEqual(response.status_code, 200)
self.assertEquals(

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
self.assertEquals(
self.assertEqual(

self.assertEquals is deprecated. Use self.assertEqual instead. Read more.

Comment on lines +10 to +16
name = models.CharField(
help_text=_('Certificate type.'),
max_length=200,
null=False,
blank=False,
unique=True,
)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
name = models.CharField(
help_text=_('Certificate type.'),
max_length=200,
null=False,
blank=False,
unique=True,
)
name = models.CharField(help_text=_("Certificate type."), max_length=200, unique=True)

False is the default value Django uses for null, so null=False can be removed. Explained here.

Similarly, redundant default arguments can be removed.

Comment on lines +18 to +23
description = models.TextField(
help_text=_('Certificate type description - 1000 characters limit.'),
max_length=1000,
null=True,
blank=True,
)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description = models.TextField(
help_text=_('Certificate type description - 1000 characters limit.'),
max_length=1000,
null=True,
blank=True,
)
description = models.TextField(
help_text=_("Certificate type description - 1000 characters limit."),
max_length=1000,
default="",
blank=True,
)

null=True on a string field causes inconsistent data types because the value can be either str or None. This adds complexity and maybe bugs, but can be solved by replacing null=True with default="". More details.

Comment on lines +25 to +33
wording = models.CharField(
help_text=_(
'Wording that will be placed on certificate. '
'e.g. "Has attended and completed".'
),
max_length=500,
null=False,
blank=False
)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
wording = models.CharField(
help_text=_(
'Wording that will be placed on certificate. '
'e.g. "Has attended and completed".'
),
max_length=500,
null=False,
blank=False
)
wording = models.CharField(
help_text=_(
'Wording that will be placed on certificate. e.g. "Has attended and completed".'
),
max_length=500,
)

Likewise, redundant default arguments can be removed.

Likewise, redundant default arguments can be removed.

Comment on lines +90 to +91
certificate_type = models.ForeignKey(
CertificateType, on_delete=models.PROTECT, null=True)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
certificate_type = models.ForeignKey(
CertificateType, on_delete=models.PROTECT, null=True)
certificate_type = models.ForeignKey(
CertificateType, on_delete=models.PROTECT, null=True, blank=True
)

Django automatically creates a related_name if it's not set. If it were set then a more readable and explicit relationship is set up. More details.

Expect unwanted behavior if null and blank are different values: null controls if the database allows no value for certificate_type and blank controls if the application allows no value for certificate_type. Consider setting null and blank to the same value for certificate_type. More details.

class Meta:
model = CertificateType

name = factory.sequence(lambda n: 'Test certificate type name %s' % n)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
name = factory.sequence(lambda n: 'Test certificate type name %s' % n)
name = factory.sequence(lambda n: f'Test certificate type name {n}')

f-string is easier to read, write, and less computationally expensive than legacy string formatting. More details.


name = factory.sequence(lambda n: 'Test certificate type name %s' % n)
description = factory.sequence(
lambda n: 'Description certificate type %s' % n)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
lambda n: 'Description certificate type %s' % n)
lambda n: f'Description certificate type {n}')

Same as above: Consider using f-string instead.

description = factory.sequence(
lambda n: 'Description certificate type %s' % n)
wording = factory.sequence(
lambda n: 'Wording certificate type %s' % n)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
lambda n: 'Wording certificate type %s' % n)
lambda n: f'Wording certificate type {n}')

As above, Consider using f-string instead.

zip_response = HttpResponse(
s.getvalue(), content_type="application/x-zip-compressed")
zip_response['Content-Disposition'] = \
'attachment; filename={}.zip'.format(file_title)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

f-string is easier to read, write, and less computationally expensive than legacy string formatting. Read more.

@codecov-commenter
Copy link

codecov-commenter commented Jan 2, 2022

Codecov Report

Merging #13 (f2254ea) into develop (5281142) will increase coverage by 1.33%.
The diff coverage is 84.42%.

Impacted file tree graph

@@             Coverage Diff             @@
##           develop      #13      +/-   ##
===========================================
+ Coverage    63.41%   64.74%   +1.33%     
===========================================
  Files          179      182       +3     
  Lines         9388     9773     +385     
  Branches       711     1242     +531     
===========================================
+ Hits          5953     6328     +375     
+ Misses        3205     3195      -10     
- Partials       230      250      +20     
Impacted Files Coverage Δ
django_project/certification/urls.py 100.00% <ø> (ø)
...ect/certification/views/certifying_organisation.py 49.52% <ø> (ø)
django_project/lesson/models/specification.py 90.32% <ø> (ø)
django_project/lesson/urls.py 86.66% <ø> (ø)
django_project/certification/views/course_type.py 57.73% <50.00%> (+17.52%) ⬆️
django_project/lesson/views/worksheet.py 70.89% <54.90%> (-3.02%) ⬇️
django_project/changes/views/changelog_github.py 51.33% <58.82%> (+1.33%) ⬆️
django_project/lesson/views/further_reading.py 69.13% <66.66%> (-2.66%) ⬇️
...hanges/management/commands/remove_unused_images.py 88.81% <88.81%> (ø)
...go_project/certification/views/certificate_type.py 94.73% <94.73%> (ø)
... and 26 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 44a9d23...f2254ea. Read the comment docs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants