53 lines
2.0 KiB
Clojure
53 lines
2.0 KiB
Clojure
(ns auto-ap.functional.test
|
|
(:require [clojure.test :as t :refer :all]
|
|
[etaoin.api :as e]
|
|
[etaoin.keys :as k]
|
|
[config.core :refer [env]]
|
|
[clj-time.core :as time]
|
|
[buddy.sign.jwt :as jwt]))
|
|
|
|
(def base-url "https://staging3.app.integreatconsult.com")
|
|
(defn login-admin [driver]
|
|
(let [jwt-token (jwt/sign {:user "Automated Tests"
|
|
:exp (time/plus (time/now) (time/days 30))
|
|
:user/role "admin"
|
|
:user/name "Automated Tests"}
|
|
(:jwt-secret env)
|
|
{:alg :hs512})]
|
|
(e/go driver (str base-url "/?jwt=" jwt-token))
|
|
(e/wait-visible driver {:tag :h1
|
|
:class "title"})))
|
|
|
|
(deftest create-invoice
|
|
(testing "Creating a new invoice"
|
|
(e/with-wait-timeout 10
|
|
(e/with-firefox {} driver
|
|
(login-admin driver)
|
|
(e/click driver {:tag :a :fn/text "Invoices"})
|
|
(e/wait-visible driver {:tag :h1
|
|
:class "title"
|
|
:fn/text "Unpaid Invoices"})))))
|
|
|
|
|
|
(deftest edit-client
|
|
(testing "Editing a client"
|
|
(e/with-wait-timeout 10
|
|
(e/with-firefox {} driver
|
|
(login-admin driver)
|
|
|
|
(e/click driver {:tag :a :class "navbar-link login"})
|
|
(e/click driver {:tag :a :fn/text "Administration"})
|
|
|
|
(e/wait-visible driver {:tag :h1
|
|
:class "title"
|
|
:fn/text "Admin"})
|
|
(e/click driver {:tag :span :fn/text "Clients"})
|
|
(e/wait-visible driver {:tag :h1
|
|
:class "title"
|
|
:fn/text "Clients"})
|
|
(e/click driver {:tag :i :class "fa fa-pencil"})
|
|
(e/wait-visible driver {:tag :button
|
|
:fn/text "Save"})
|
|
(e/click driver {:tag :button :fn/text "Save"})
|
|
(e/wait-invisible driver {:tag :form})))))
|