@@ -89,10 +89,17 @@ def _get_response_dict(self, view_name, filepath=None):
8989 return json .load (open (filename ))
9090
9191 def _normalize_datetime_fields (self , obj ):
92- obj ["projects" ]["current" ]["created" ] = "2019-04-29T10:00:00Z"
93- obj ["projects" ]["current" ]["modified" ] = "2019-04-29T12:00:00Z"
94- obj ["builds" ]["current" ]["created" ] = "2019-04-29T10:00:00Z"
95- obj ["builds" ]["current" ]["finished" ] = "2019-04-29T10:01:00Z"
92+ try :
93+ obj ["projects" ]["current" ]["created" ] = "2019-04-29T10:00:00Z"
94+ obj ["projects" ]["current" ]["modified" ] = "2019-04-29T12:00:00Z"
95+ except :
96+ pass
97+
98+ try :
99+ obj ["builds" ]["current" ]["created" ] = "2019-04-29T10:00:00Z"
100+ obj ["builds" ]["current" ]["finished" ] = "2019-04-29T10:01:00Z"
101+ except :
102+ pass
96103 return obj
97104
98105 def test_get_config_v1 (self ):
@@ -727,6 +734,33 @@ def test_send_project_version_slugs_and_url(self):
727734 "v1"
728735 )
729736
737+ def test_send_project_slug_and_notfound_version_slug (self ):
738+ r = self .client .get (
739+ reverse ("proxito_readthedocs_docs_addons" ),
740+ {
741+ "api-version" : "1.0.0" ,
742+ "client-version" : "0.6.0" ,
743+ "project-slug" : self .project .slug ,
744+ "version-slug" : "not-found" ,
745+ },
746+ secure = True ,
747+ headers = {
748+ "host" : "project.dev.readthedocs.io" ,
749+ },
750+ )
751+ assert r .status_code == 200
752+
753+ expected_response = self ._get_response_dict ("v1" )
754+
755+ # Since there is no version, there are some fields that we need to change from the default response
756+ del expected_response ["addons" ]["doc_diff" ]
757+ expected_response ["builds" ]["current" ] = None
758+ expected_response ["versions" ]["current" ] = None
759+ expected_response ["readthedocs" ]["resolver" ]["filename" ] = None
760+ expected_response ["addons" ]["search" ]["default_filter" ] = f"project:{ self .project .slug } "
761+ assert self ._normalize_datetime_fields (r .json ()) == expected_response
762+
763+
730764 def test_custom_domain_url (self ):
731765 fixture .get (
732766 Domain ,
0 commit comments