@@ -387,11 +387,7 @@ func TestExport_walkChannelMessages(t *testing.T) {
387387 files : tt .fields .files ,
388388 avatars : tt .fields .avatars ,
389389 }
390- it , err := e .walkChannelMessages (t .Context (), tt .args .name )
391- if (err != nil ) != tt .wantErr {
392- t .Errorf ("Export.walkChannelMessages() error = %v, wantErr %v" , err , tt .wantErr )
393- return
394- }
390+ it := e .walkChannelMessages (t .Context (), tt .args .name )
395391 var got []slack.Message
396392 for m , err := range it {
397393 if (err != nil ) != tt .wantErr {
@@ -406,3 +402,87 @@ func TestExport_walkChannelMessages(t *testing.T) {
406402 })
407403 }
408404}
405+
406+ func TestExport_nameByID (t * testing.T ) {
407+ type fields struct {
408+ fs fs.FS
409+ channels []slack.Channel
410+ chanNames map [string ]string
411+ name string
412+ idx structures.ExportIndex
413+ files Storage
414+ avatars Storage
415+ cache * threadCache
416+ }
417+ type args struct {
418+ channelID string
419+ }
420+ tests := []struct {
421+ name string
422+ fields fields
423+ args args
424+ want string
425+ wantErr bool
426+ }{
427+ {
428+ name : "resolves existing channel" ,
429+ fields : fields {
430+ fs : fstest.MapFS {
431+ "slackdump/" : & fstest.MapFile {Mode : 0755 },
432+ },
433+ chanNames : map [string ]string {
434+ "C12345" : "slackdump" ,
435+ },
436+ },
437+ args : args {"C12345" },
438+ want : "slackdump" ,
439+ wantErr : false ,
440+ },
441+ {
442+ name : "channel not in index" ,
443+ fields : fields {
444+ fs : fstest.MapFS {
445+ "slackdump/" : & fstest.MapFile {Mode : 0755 },
446+ },
447+ chanNames : map [string ]string {},
448+ },
449+ args : args {"C12345" },
450+ want : "" ,
451+ wantErr : true ,
452+ },
453+ {
454+ name : "channel not on the filesystem" ,
455+ fields : fields {
456+ fs : fstest.MapFS {},
457+ chanNames : map [string ]string {
458+ "C12345" : "slackdump" ,
459+ },
460+ },
461+ args : args {"C12345" },
462+ want : "" ,
463+ wantErr : true ,
464+ },
465+ }
466+ for _ , tt := range tests {
467+ t .Run (tt .name , func (t * testing.T ) {
468+ e := & Export {
469+ fs : tt .fields .fs ,
470+ channels : tt .fields .channels ,
471+ chanNames : tt .fields .chanNames ,
472+ name : tt .fields .name ,
473+ idx : tt .fields .idx ,
474+ files : tt .fields .files ,
475+ avatars : tt .fields .avatars ,
476+ cache : tt .fields .cache ,
477+ }
478+ got , err := e .nameByID (tt .args .channelID )
479+ if (err != nil ) != tt .wantErr {
480+ t .Errorf ("Export.nameByID() error = %v, wantErr %v" , err , tt .wantErr )
481+ return
482+ }
483+ if got != tt .want {
484+ t .Errorf ("Export.nameByID() = %v, want %v" , got , tt .want )
485+ }
486+ })
487+ }
488+ }
0 commit comments