From 578c026c85a59f3ab72bb140d4ba935d1701b4f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A4in=C3=B6=20Ala-H=C3=A4rk=C3=B6nen?= Date: Mon, 16 Sep 2024 10:25:01 +0300 Subject: [PATCH] OK-623 filtering for valintapiste --- .../virkailija/virkailija_routes_spec.clj | 55 +++++++++++++++++++ .../application_access_control.clj | 4 +- .../valintapiste/valintapiste_service.clj | 10 +++- .../ataru/virkailija/virkailija_routes.clj | 1 + 4 files changed, 65 insertions(+), 5 deletions(-) diff --git a/spec/ataru/virkailija/virkailija_routes_spec.clj b/spec/ataru/virkailija/virkailija_routes_spec.clj index 72ec1fe717..ba857c5852 100644 --- a/spec/ataru/virkailija/virkailija_routes_spec.clj +++ b/spec/ataru/virkailija/virkailija_routes_spec.clj @@ -133,6 +133,13 @@ (update-in [:headers] assoc "cookie" (login @virkailija-routes)) ((deref virkailija-routes))))) +(defn- get-valintapiste-application-query [query] + (-> (mock/request :get "/lomake-editori/api/external/valintapiste" query) + (update-in [:headers] assoc "cookie" (login @virkailija-routes "SUPERUSER")) + (mock/content-type "application/json") + ((deref virkailija-routes)) + (update :body (comp (fn [content] (json/parse-string content true)) slurp)))) + (defn- get-tilastokeskus-application-query [query] (-> (mock/request :get "/lomake-editori/api/external/tilastokeskus" query) (update-in [:headers] assoc "cookie" (login @virkailija-routes "SUPERUSER")) @@ -1014,4 +1021,52 @@ (should= 200 status) (should= 0 (count applications))))) +(describe "valintapiste" + (tags :unit) + + (after-all + (db/nuke-kk-payment-data)) + + (it "should return an application" + (let [_ (db/init-db-fixture fixtures/payment-exemption-test-form + application-fixtures/application-without-hakemusmaksu-exemption + nil) + haku-oid (:haku application-fixtures/application-without-hakemusmaksu-exemption) + resp (get-valintapiste-application-query {:hakuOid haku-oid}) + status (:status resp) + applications (:body resp)] + (should= 200 status) + (should= 1 (count applications)) + (println applications))) + + (it "should return an application with kk payment data" + (let [person-oid "1.2.3.4.5.303" + term "kausi_s" + year 2025 + haku-oid (:haku application-fixtures/application-without-hakemusmaksu-exemption) + _ (db/init-db-fixture fixtures/payment-exemption-test-form + application-fixtures/application-without-hakemusmaksu-exemption + nil) + _ (payment/set-application-fee-not-required person-oid term year nil nil) + resp (get-valintapiste-application-query {:hakuOid haku-oid}) + status (:status resp) + applications (:body resp)] + (should= 200 status) + (should= 1 (count applications)))) + + (it "should not return an application awaiting kk payment" + (let [person-oid "1.2.3.4.5.303" + term "kausi_s" + year 2025 + haku-oid (:haku application-fixtures/application-without-hakemusmaksu-exemption) + _ (db/init-db-fixture fixtures/payment-exemption-test-form + application-fixtures/application-without-hakemusmaksu-exemption + nil) + _ (payment/set-application-fee-required person-oid term year nil nil) + resp (get-valintapiste-application-query {:hakuOid haku-oid}) + status (:status resp) + applications (:body resp)] + (should= 200 status) + (should= 0 (count applications))))) + (run-specs) diff --git a/src/clj/ataru/applications/application_access_control.clj b/src/clj/ataru/applications/application_access_control.clj index 9fe397dba2..97118f6dac 100644 --- a/src/clj/ataru/applications/application_access_control.clj +++ b/src/clj/ataru/applications/application_access_control.clj @@ -368,14 +368,14 @@ (constantly nil) #(tilastokeskus-service/get-application-info-for-tilastokeskus person-service tarjonta-service valintalaskentakoostepalvelu-service suoritus-service haku-oid hakukohde-oid))) -(defn get-applications-for-valintapiste [organization-service session haku-oid hakukohde-oid] +(defn get-applications-for-valintapiste [organization-service session tarjonta-service haku-oid hakukohde-oid] (session-orgs/run-org-authorized session organization-service [:view-applications :edit-applications] (constantly nil) (constantly nil) - #(valintapiste-service/get-application-info-for-valintapiste haku-oid hakukohde-oid))) + #(valintapiste-service/get-application-info-for-valintapiste tarjonta-service haku-oid hakukohde-oid))) (defn get-applications-for-valintalaskenta [organization-service session hakukohde-oid application-keys] (session-orgs/run-org-authorized diff --git a/src/clj/ataru/valintapiste/valintapiste_service.clj b/src/clj/ataru/valintapiste/valintapiste_service.clj index cb5259b314..3c6211b422 100644 --- a/src/clj/ataru/valintapiste/valintapiste_service.clj +++ b/src/clj/ataru/valintapiste/valintapiste_service.clj @@ -1,6 +1,10 @@ (ns ataru.valintapiste.valintapiste-service - (:require [ataru.applications.application-store :as application-store])) + (:require [ataru.applications.application-store :as application-store] + [ataru.kk-application-payment.kk-application-payment :as kk-application-payment])) (defn get-application-info-for-valintapiste - [haku-oid hakukohde-oid] - (application-store/get-application-info-for-valintapiste haku-oid hakukohde-oid)) \ No newline at end of file + [tarjonta-service haku-oid hakukohde-oid] + (kk-application-payment/filter-out-unpaid-kk-applications + tarjonta-service + (application-store/get-application-info-for-valintapiste haku-oid hakukohde-oid) + :henkilo_oid :haku_oid)) \ No newline at end of file diff --git a/src/clj/ataru/virkailija/virkailija_routes.clj b/src/clj/ataru/virkailija/virkailija_routes.clj index 8e36de6231..805d6ea960 100644 --- a/src/clj/ataru/virkailija/virkailija_routes.clj +++ b/src/clj/ataru/virkailija/virkailija_routes.clj @@ -1672,6 +1672,7 @@ :return [ataru-schema/ValintapisteApplication] (if-let [applications (access-controlled-application/get-applications-for-valintapiste organization-service session + tarjonta-service hakuOid hakukohdeOid)] (response/ok applications)