Я написал код, который выглядит примерно так
(testing "check that for all these roles there's an alert"
(binding [*profile* account-exceeded-limits]
(let [overview-page (overview-container sample-form
:role readonly-no-download)]
(is (dommy/has-class?
(-> overview-page (sel1 [:div#export-list-panel :.panel-body
:.alert]))
"alert-warning")))
(let [overview-page (overview-container sample-form
:role dataentry)]
(is (dommy/has-class?
(-> overview-page (sel1 [:div#export-list-panel :.panel-body
:.alert]))
"alert-warning")))
(let [overview-page (overview-container sample-form
:role editor)]
(is (dommy/has-class?
(-> overview-page (sel1 [:div#export-list-panel :.panel-body
:.alert]))
"alert-warning")))
(let [overview-page (overview-container sample-form
:role member)]
(is (dommy/has-class?
(-> overview-page (sel1 [:div#export-list-panel :.panel-body
:.alert]))
"alert-warning")))
(let [overview-page (overview-container sample-form
:role collaborator)]
(is (dommy/has-class?
(-> overview-page (sel1 [:div#export-list-panel :.panel-body
:.alert]))
"alert-warning")))
(let [overview-page (overview-container sample-form
:role readonly)]
(is (dommy/has-class?
(-> overview-page (sel1 [:div#export-list-panel :.panel-body
:.alert]))
"alert-warning")))))
Мне нужно реорганизовать этот код, чтобы сделать его более сухим.
Итак, я попробовал это
(testing "check that for all these roles theres an alert"
(for [role [dataentry readonly-no-download editor member collaborator
readonly]]
(let [overview-page (overview-container sample-form
:role role)]
(is (dommy/has-class?
(-> overview-page (sel1 [:div#export-list-panel :.panel-body
:.alert]))
"alert-warning")))))
Казалось, что тесты не были проведены.
Я также попробовал это:
(testing "check that for all these roles theres an alert"
(map (fn [role] (let [overview-page (overview-container sample-form
:role role)]
(is (dommy/has-class?
(-> overview-page (sel1 [:div#export-list-panel :.panel-body
:.alert]))
"alert-warning"))) [dataentry readonly-no-download editor member collaborator
readonly])))
еще раз, казалось, что тесты не были проведены.
Что может быть причиной этого ? Есть ли способ, которым я могу сделать эту тестовую сушилку? я должен пытаться сделать тесты сушилки?