Fix tooltip shadow and position and improve unittests

This commit is contained in:
Antoine Bartuccio 2024-12-13 11:43:34 +01:00
parent 4975475e85
commit 2cc4308a58
4 changed files with 44 additions and 19 deletions

View File

@ -30,3 +30,8 @@ $shadow-color: rgb(223, 223, 223);
$background-button-color: hsl(0, 0%, 95%); $background-button-color: hsl(0, 0%, 95%);
$deepblue: #354a5f; $deepblue: #354a5f;
@mixin shadow {
box-shadow: rgba(60, 64, 67, 0.3) 0 1px 3px 0,
rgba(60, 64, 67, 0.15) 0 4px 8px 3px;
}

View File

@ -46,22 +46,25 @@ body {
position: relative; position: relative;
} }
[tooltip]:before { [tooltip]::before {
@include shadow;
opacity: 0; opacity: 0;
z-index: 1; z-index: 1;
content: attr(tooltip); content: attr(tooltip);
background: $white-color; background: hsl(219.6, 20.8%, 96%);
color: $black-color; color: $black-color;
border: 1px solid $black-color; border: 0.5px solid hsl(0, 0%, 50%);
;
border-radius: 5px; border-radius: 5px;
padding: 5px; padding: 5px;
top: 1em; top: 1em;
position: absolute; position: absolute;
margin-top: 5px;
white-space: nowrap; white-space: nowrap;
transition: opacity 500ms ease-out; transition: opacity 500ms ease-out;
} }
[tooltip]:hover:before { [tooltip]:hover::before {
opacity: 1; opacity: 1;
} }
@ -102,8 +105,7 @@ body {
} }
.shadow { .shadow {
box-shadow: rgba(60, 64, 67, 0.3) 0 1px 3px 0, @include shadow;
rgba(60, 64, 67, 0.15) 0 4px 8px 3px;
} }
.w_big { .w_big {

View File

@ -13,13 +13,18 @@
<em class="no-cards">{% trans %}No student card registered.{% endtrans %}</em> <em class="no-cards">{% trans %}No student card registered.{% endtrans %}</em>
{% else %} {% else %}
<p> <p>
{% trans %}Card registered{% endtrans %}</span> <span tooltip="{% trans uid=customer.student_card.uid %}uid: {{ uid }} {% endtrans %}">
<span tooltip="{% trans uid=customer.student_card.uid %}uid: {{ uid }} {% endtrans %}"><i class="fa fa-check" style="color: green"></i></span> &nbsp; - &nbsp; {% trans %}Card registered{% endtrans %}
<i class="fa fa-check" style="color: green"></i>
</span>
&nbsp; - &nbsp;
<button <button
hx-get="{{ url('counter:delete_student_card', customer_id=customer.pk) }}" hx-get="{{ url('counter:delete_student_card', customer_id=customer.pk) }}"
hx-swap="outerHTML" hx-swap="outerHTML"
hx-target="#student_card_form" hx-target="#student_card_form"
>{% trans %}Delete{% endtrans %}</button> >
{% trans %}Delete{% endtrans %}
</button>
</p> </p>
{% endif %} {% endif %}
</div> </div>

View File

@ -271,8 +271,8 @@ class TestStudentCard(TestCase):
assert not hasattr(customer, "student_card") assert not hasattr(customer, "student_card")
def test_add_student_card_from_counter_unauthorized(self): def test_add_student_card_from_counter_unauthorized(self):
def send_valid_request(counter_id): def send_valid_request(client, counter_id):
return self.client.post( return client.post(
reverse( reverse(
"counter:add_student_card", kwargs={"customer_id": self.customer.pk} "counter:add_student_card", kwargs={"customer_id": self.customer.pk}
), ),
@ -284,11 +284,24 @@ class TestStudentCard(TestCase):
) )
# Send to a counter where you aren't logged in # Send to a counter where you aren't logged in
assert send_valid_request(self.counter.id).status_code == 403 assert send_valid_request(self.client, self.counter.id).status_code == 403
self.login_in_counter()
barman = subscriber_user.make()
self.counter.sellers.add(barman)
# We want to test sending requests from another counter while
# we are currently registered to another counter
# so we connect to a counter and
# we create a new client, in order to check
# that using a client not logged to a counter
# where another client is logged still isn't authorized.
client = Client()
# Send to a counter where you aren't logged in
assert send_valid_request(client, self.counter.id).status_code == 403
# Send to a non bar counter # Send to a non bar counter
self.client.force_login(self.club_admin) client.force_login(self.club_admin)
assert send_valid_request(self.club_counter.id).status_code == 403 assert send_valid_request(client, self.club_counter.id).status_code == 403
def test_delete_student_card_with_owner(self): def test_delete_student_card_with_owner(self):
self.client.force_login(self.customer) self.client.force_login(self.customer)