From de8ce4dcd2f4994dfab2f97afe1e80e52924834b Mon Sep 17 00:00:00 2001 From: Rob Loranger Date: Tue, 28 May 2019 14:50:41 -0700 Subject: [PATCH] closes T589 update tests to use dev client this changes tests to only use the dev client as all code is shared between that and the write.as client, just the host changes. also updated post tests to round trip and test over sub tests --- collection_test.go | 58 ++++++++++---------- post_test.go | 133 ++++++++++++++++++++------------------------- 2 files changed, 86 insertions(+), 105 deletions(-) diff --git a/collection_test.go b/collection_test.go index fe90ccc..d6bb49b 100644 --- a/collection_test.go +++ b/collection_test.go @@ -8,47 +8,45 @@ import ( ) func TestGetCollection(t *testing.T) { - wac := NewClient() + dwac := NewDevClient() - res, err := wac.GetCollection("blog") + res, err := dwac.GetCollection("tester") if err != nil { t.Errorf("Unexpected fetch results: %+v, err: %v\n", res, err) - } else { - t.Logf("Collection: %+v", res) - if res.Title != "write.as blog" { - t.Errorf("Unexpected fetch results: %+v\n", res) - } + } + if res == nil { + t.Error("Expected collection to not be nil") } } func TestGetCollectionPosts(t *testing.T) { - wac := NewClient() + dwac := NewDevClient() + posts := []Post{} - res, err := wac.GetCollectionPosts("blog") - if err != nil { - t.Errorf("Unexpected fetch results: %+v, err: %v\n", res, err) - } else { - if len(*res) == 0 { - t.Errorf("No posts returned!") + t.Run("Get all posts in collection", func(t *testing.T) { + res, err := dwac.GetCollectionPosts("tester") + if err != nil { + t.Errorf("Unexpected fetch results: %+v, err: %v\n", res, err) + } + if len(*res) == 0 { + t.Error("Expected at least on post in collection") + } + posts = *res + }) + t.Run("Get one post from collection", func(t *testing.T) { + res, err := dwac.GetCollectionPost("tester", posts[0].Slug) + if err != nil { + t.Errorf("Unexpected fetch results: %+v, err: %v\n", res, err) } - } -} -func TestGetCollectionPost(t *testing.T) { - wac := NewClient() + if res == nil { + t.Errorf("No post returned!") + } - res, err := wac.GetCollectionPost("blog", "extending-write-as") - if err != nil { - t.Errorf("Unexpected fetch results: %+v, err: %v\n", res, err) - } - - if res == nil { - t.Errorf("No post returned!") - } - - if len(res.Content) == 0 { - t.Errorf("Post content is empty!") - } + if len(res.Content) == 0 { + t.Errorf("Post content is empty!") + } + }) } func TestGetUserCollections(t *testing.T) { diff --git a/post_test.go b/post_test.go index a7e3475..9d2fb47 100644 --- a/post_test.go +++ b/post_test.go @@ -2,68 +2,57 @@ package writeas import ( "fmt" - "strings" "testing" ) -func TestCreatePost(t *testing.T) { - wac := NewClient() - p, err := wac.CreatePost(&PostParams{ - Title: "Title!", - Content: "This is a post.", - Font: "sans", +func TestPostRoundTrip(t *testing.T) { + var id, token string + dwac := NewClient() + t.Run("Create post", func(t *testing.T) { + p, err := dwac.CreatePost(&PostParams{ + Title: "Title!", + Content: "This is a post.", + Font: "sans", + }) + if err != nil { + t.Errorf("Post create failed: %v", err) + return + } + t.Logf("Post created: %+v", p) + id, token = p.ID, p.Token }) - if err != nil { - t.Errorf("Post create failed: %v", err) - return - } - t.Logf("Post created: %+v", p) - - token := p.Token - - // Update post - p, err = wac.UpdatePost(p.ID, token, &PostParams{ - Content: "Now it's been updated!", + t.Run("Get post", func(t *testing.T) { + res, err := dwac.GetPost(id) + if err != nil { + t.Errorf("Unexpected fetch results: %+v, err: %v\n", res, err) + } else { + t.Logf("Post: %+v", res) + if res.Content != "This is a post." { + t.Errorf("Unexpected fetch results: %+v\n", res) + } + } + }) + t.Run("Update post", func(t *testing.T) { + p, err := dwac.UpdatePost(id, token, &PostParams{ + Content: "Now it's been updated!", + }) + if err != nil { + t.Errorf("Post update failed: %v", err) + return + } + t.Logf("Post updated: %+v", p) + }) + t.Run("Delete post", func(t *testing.T) { + err := dwac.DeletePost(id, token) + if err != nil { + t.Errorf("Post delete failed: %v", err) + return + } + t.Logf("Post deleted!") }) - if err != nil { - t.Errorf("Post update failed: %v", err) - return - } - t.Logf("Post updated: %+v", p) - - // Delete post - err = wac.DeletePost(p.ID, token) - if err != nil { - t.Errorf("Post delete failed: %v", err) - return - } - t.Logf("Post deleted!") } -func TestGetPost(t *testing.T) { - dwac := NewDevClient() - res, err := dwac.GetPost("zekk5r9apum6p") - if err != nil { - t.Errorf("Unexpected fetch results: %+v, err: %v\n", res, err) - } else { - t.Logf("Post: %+v", res) - if res.Content != "This is a post." { - t.Errorf("Unexpected fetch results: %+v\n", res) - } - } - - wac := NewClient() - res, err = wac.GetPost("3psnxyhqxy3hq") - if err != nil { - t.Errorf("Unexpected fetch results: %+v, err: %v\n", res, err) - } else { - if !strings.HasPrefix(res.Content, " Write.as Blog") { - t.Errorf("Unexpected fetch results: %+v\n", res) - } - } -} - -func TestPinPost(t *testing.T) { +func TestPinUnPin(t *testing.T) { dwac := NewDevClient() _, err := dwac.LogIn("demo", "demo") if err != nil { @@ -71,31 +60,25 @@ func TestPinPost(t *testing.T) { } defer dwac.LogOut() - err = dwac.PinPost("tester", &PinnedPostParams{ID: "olx6uk7064heqltf"}) - if err != nil { - t.Fatalf("Pin failed: %v", err) - } -} - -func TestUnpinPost(t *testing.T) { - dwac := NewDevClient() - _, err := dwac.LogIn("demo", "demo") - if err != nil { - t.Fatalf("Unable to log in: %v", err) - } - defer dwac.LogOut() - - err = dwac.UnpinPost("tester", &PinnedPostParams{ID: "olx6uk7064heqltf"}) - if err != nil { - t.Fatalf("Unpin failed: %v", err) - } + t.Run("Pin post", func(t *testing.T) { + err := dwac.PinPost("tester", &PinnedPostParams{ID: "olx6uk7064heqltf"}) + if err != nil { + t.Fatalf("Pin failed: %v", err) + } + }) + t.Run("Unpin post", func(t *testing.T) { + err := dwac.UnpinPost("tester", &PinnedPostParams{ID: "olx6uk7064heqltf"}) + if err != nil { + t.Fatalf("Unpin failed: %v", err) + } + }) } func ExampleClient_CreatePost() { - c := NewClient() + dwac := NewDevClient() // Publish a post - p, err := c.CreatePost(&PostParams{ + p, err := dwac.CreatePost(&PostParams{ Title: "Title!", Content: "This is a post.", Font: "sans",