
    Bh]                     t    d dl mZ d dlmZ d dlmZmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ  G d d	ee
      Zy
)    )settings)Template)PagePageContent)NavextendersFixture)CMSTestCase)TestMenu)	menu_poolc                   F    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zy)NavExtenderTestCasezs
    Tree from fixture:

        page1
            page2
                page3
        page4
            page5
    c                     t         j                  st        j                          t         j                  | _        | j                  d   t
        dt         _        y )NCMSMenu)r   r	   )r
   
discovereddiscover_menusmenusold_menur	   selfs    J/home/dcms/DCMS/lib/python3.12/site-packages/cms/tests/test_navextender.pysetUpzNavExtenderTestCase.setUp   s:    ##$$&!}}Y/ 
	    c                 .    | j                   t        _        y )N)r   r
   r   r   s    r   tearDownzNavExtenderTestCase.tearDown    s    --	r   c                 H    t         j                  j                  d|z        S )Npage%spagecontent_set__title)r   objectsget)r   nums     r   	_get_pagezNavExtenderTestCase._get_page#   s    ||x#~FFr   c                 h    t        j                  j                  d|z        j                  di | y )Nr   r    )r   r   filterupdate)r   r    stuffs      r   _update_pagez NavExtenderTestCase._update_page&   s)    8c>BIIRERr   c                     | j                  t        t        j                        d       | j                  t        t        j                        dk\  d       y )N      T)assertEquallenr
   r   	modifiersr   s    r   test_menu_registrationz*NavExtenderTestCase.test_menu_registration)   s;    Y__-q1Y001Q6=r   c                    | j                  dd       t        j                  t        j                         | j                         }t        d      }|j                  |       |d   }| j                  t        |      d       | j                  t        |d   j                        d       | j                  t        |d   j                  d	   j                        d       t        j                  j                  d
      j                  d       t        j                  t        j                         t        d      }|j                  |       |d   }| j                  t        |      d       y )N   r	   navigation_extenders1{% load menu_tags %}{% show_menu 0 100 100 100 %}childrenr)   r   r*      page1titleFin_navigation#{% load menu_tags %}{% show_menu %}   )r'   r
   clearr   SITE_IDget_contextr   renderr+   r,   r4   r   r   r$   r%   r   contexttplnodess       r   test_extenders_on_rootz*NavExtenderTestCase.test_extenders_on_root-   s   !*=(()""$JK

7
#UQ'U1X../3U1X..q1::;Q?"""188u8M(()<=

7
#UQ'r   c                 X   | j                  dd       t        j                  t        j                         | j                         }t        d      }|j                  |       |d   }| j                  t        |      d       | j                  t        |d   j                        d       y )Nr*   r	   r1   r3   r4   r)   r0   )r'   r
   r=   r   r>   r?   r   r@   r+   r,   r4   rA   s       r   test_extenders_on_root_childz0NavExtenderTestCase.test_extenders_on_root_child?   s    !*=(()""$JK

7
#UQ'U1X../3r   c                 ^   t         j                  j                  d      j                  d       | j	                  dd       t        j                  t        j                         t        j                  t        j                         | j                         }t        d      }|j                  |       |d	   }| j                  t        |      d       | j                  t        |d
   j                        d       | j                  |d
   j                  d   j                         d       y)z+
        TestMenu has 4 flat nodes
        r6   r7   Fr9   r)   r	   r1   r3   r4   r   r*   r0   /N)r   r   r$   r%   r'   r
   r=   r   r>   r?   r   r@   r+   r,   r4   get_absolute_urlrA   s       r   test_extenders_on_childz+NavExtenderTestCase.test_extenders_on_childI   s     	"""188u8M!*=(()(()""$JK

7
#UQ'U1X../3q**1->>@#Fr   c                    | j                  dd       t        j                  t        j                         | j                         }t        d      }|j                  |       |d   }| j                  t        |      d       y )Nr)   SomethingWrongr1   r;   r4   )
r'   r
   r=   r   r>   r?   r   r@   r+   r,   rA   s       r   !test_incorrect_nav_extender_in_dbz5NavExtenderTestCase.test_incorrect_nav_extender_in_dbY   sk    !2BC(()""$<=

7
#UQ'r   N)__name__
__module____qualname____doc__r   r   r!   r'   r.   rE   rG   rK   rN   r#   r   r   r   r      s7    
(GS>($4G (r   r   N)django.confr   django.templater   
cms.modelsr   r   $cms.test_utils.fixtures.navextendersr   cms.test_utils.testcasesr   !cms.test_utils.util.menu_extenderr	   menus.menu_poolr
   r   r#   r   r   <module>rZ      s+      $ ( D 0 6 %U(-{ U(r   