@@ -246,7 +246,10 @@ def __call__(inner_self, *args, **kw):
246246 self .client .db .classes .create = AppendResult ('create' )
247247 self .client .db .classes .set = AppendResult ('set' )
248248 self .client .db .classes .getprops = lambda : \
249- ({'messages' :hyperdb .Multilink ('msg' ), 'content' :hyperdb .String ()})
249+ ({'messages' :hyperdb .Multilink ('msg' )
250+ ,'content' :hyperdb .String ()
251+ ,'files' :hyperdb .Multilink ('file' )
252+ })
250253 self .action = EditItemAction (self .client )
251254
252255 def testMessageAttach (self ):
@@ -265,6 +268,27 @@ def testMessageAttach(self):
265268 pass
266269 self .assertEqual (expect , self .result )
267270
271+ def testFileAttach (self ):
272+ expect = \
273+ [('create' ,(),{'content' :'t' ,'type' :'text/plain' ,'name' :'t.txt' })
274+ ,('set' ,('4711' ,),{'files' :['23' ,'42' ,'17' ]})
275+ ]
276+ self .client .db .classes .get = lambda a , b :['23' ,'42' ]
277+ self .client .parsePropsFromForm = lambda : \
278+ ( {('file' ,'-1' ):{'content' :'t' ,'type' :'text/plain' ,'name' :'t.txt' }
279+ ,('issue' ,'4711' ):{}
280+ }
281+ , [('issue' ,'4711' ,'messages' ,[('msg' ,'-1' )])
282+ ,('issue' ,'4711' ,'files' ,[('file' ,'-1' )])
283+ ,('msg' ,'-1' ,'files' ,[('file' ,'-1' )])
284+ ]
285+ )
286+ try :
287+ self .action .handle ()
288+ except Redirect , msg :
289+ pass
290+ self .assertEqual (expect , self .result )
291+
268292 def testLinkExisting (self ):
269293 expect = [('set' ,('4711' ,),{'messages' :['23' ,'42' ,'1' ]})]
270294 self .client .db .classes .get = lambda a , b :['23' ,'42' ]
0 commit comments