test/genurl-tests.lisp

DOWNLOAD
(defpackage murja.tests.genurl
  (:use :cl :fiveam :murja.genurl)
  (:import-from :murja.tests :prepare-db-and-server :drakma->string :url :main-suite :prepare-db-and-server)
  (:local-nicknames (:settings :murja.setting-definitions)
		    (:tabs :murja.view.components.tabs)
		    (:feed :murja.view.rss)))

(in-package :murja.tests.genurl)

(in-suite main-suite)

(def-test genurl-test (:fixture prepare-db-and-server)
  (let ((old-prefix (settings:prefix)))
    (unwind-protect
	 (progn 
	   ;; initial state is as expected 
	   (is (string= (settings:prefix) ""))
	   (is (string= 
		(route->url 'feed::rss-single-item :feed-id "auto-testing" :item-id "lololo")
		"/feeds/auto-testing/item/lololo"))

	   ;; changing setting works as expected
	   (settings:prefix "/a-random-test-murja-instance")
	   (is (string= 
		(route->url 'feed::rss-single-item :feed-id "auto-testing" :item-id "lololo")
		"/a-random-test-murja-instance/feeds/auto-testing/item/lololo"))

	   ;; instances of tab class keep their inner url prefix-less
	   (is (string= "/" 
			(tabs::tab-url 
			 (gethash 'murja.view.blog-root:root murja.view.components.tabs::*tabs*)))))
      (settings:prefix old-prefix))))