From 5b7801880bb5ec25a2ac3eef501ee5d8ac92bbd7 Mon Sep 17 00:00:00 2001 From: jrasmusbm Date: Thu, 30 Jun 2022 06:46:34 +0200 Subject: [PATCH] feat(fs): add file reader --- blogposts/blogposts.go | 10 ++++++++++ blogposts/blogposts_test.go | 25 +++++++++++++++++++++++++ blogposts/go.mod | 3 +++ 3 files changed, 38 insertions(+) create mode 100644 blogposts/blogposts.go create mode 100644 blogposts/blogposts_test.go create mode 100644 blogposts/go.mod diff --git a/blogposts/blogposts.go b/blogposts/blogposts.go new file mode 100644 index 0000000..b6d72ae --- /dev/null +++ b/blogposts/blogposts.go @@ -0,0 +1,10 @@ +package blogposts + +import "testing/fstest" + +type Post struct { +} + +func NewPostsFromFS(filesystem fstest.MapFS) []Post { + return []Post{{}, {}} +} diff --git a/blogposts/blogposts_test.go b/blogposts/blogposts_test.go new file mode 100644 index 0000000..5b0bfe1 --- /dev/null +++ b/blogposts/blogposts_test.go @@ -0,0 +1,25 @@ +package blogposts_test + +import ( + blogposts "github.com/jrasmusbm/learn-go-with-tests/reading-files" + + "testing" + "testing/fstest" +) + +func TestNewBlogPosts(t *testing.T) { + t.Run("Creates new blog posts", func(t *testing.T) { + fs := fstest.MapFS{ + "hello world.md": {Data: []byte("hi")}, + "hello-world2.md": {Data: []byte("hola")}, + } + + got := len(blogposts.NewPostsFromFS(fs)) + want := len(fs) + + if got != want { + t.Errorf("got %v posts, want %v posts", got, want) + } + }) + +} diff --git a/blogposts/go.mod b/blogposts/go.mod new file mode 100644 index 0000000..c648560 --- /dev/null +++ b/blogposts/go.mod @@ -0,0 +1,3 @@ +module github.com/jrasmusbm/learn-go-with-tests/reading-files + +go 1.18