filepicker_test.go

 1package filepicker
 2
 3import (
 4	"testing"
 5	"testing/fstest"
 6
 7	"github.com/stretchr/testify/assert"
 8	"github.com/stretchr/testify/require"
 9)
10
11var pngMagicNumberData = []byte("\x89PNG\x0D\x0A\x1A\x0A")
12
13func TestOnPasteMockFSWithValidPath(t *testing.T) {
14	mockFS := fstest.MapFS{
15		"image1.png": &fstest.MapFile{
16			Data: pngMagicNumberData,
17		},
18		"image2.png": &fstest.MapFile{
19			Data: []byte("fake png content"),
20		},
21	}
22
23	// Test with the first file
24	cmd := onPaste(mockFS, "image1.png")
25	msg := cmd()
26
27	filePickedMsg, ok := msg.(FilePickedMsg)
28	require.True(t, ok)
29	require.NotNil(t, filePickedMsg)
30	assert.Equal(t, "image1.png", filePickedMsg.Attachment.FileName)
31	assert.Equal(t, "image/png", filePickedMsg.Attachment.MimeType)
32}