Page MenuHomeMusing Studio

No OneTemporary

diff --git a/collection_test.go b/collection_test.go
index fe90ccc..d6bb49b 100644
--- a/collection_test.go
+++ b/collection_test.go
@@ -1,109 +1,107 @@
package writeas
import (
"fmt"
"strings"
"testing"
"time"
)
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 {
+ 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.Errorf("No posts returned!")
+ 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()
-
- 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 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) {
wac := NewDevClient()
_, err := wac.LogIn("demo", "demo")
if err != nil {
t.Fatalf("Unable to log in: %v", err)
}
defer wac.LogOut()
res, err := wac.GetUserCollections()
if err != nil {
t.Errorf("Unexpected fetch results: %+v, err: %v\n", res, err)
} else {
t.Logf("User collections: %+v", res)
if len(*res) == 0 {
t.Errorf("No collections returned!")
}
}
}
func TestCreateAndDeleteCollection(t *testing.T) {
wac := NewDevClient()
_, err := wac.LogIn("demo", "demo")
if err != nil {
t.Fatalf("Unable to log in: %v", err)
}
defer wac.LogOut()
now := time.Now().Unix()
alias := fmt.Sprintf("test-collection-%v", now)
c, err := wac.CreateCollection(&CollectionParams{
Alias: alias,
Title: fmt.Sprintf("Test Collection %v", now),
})
if err != nil {
t.Fatalf("Unable to create collection %q: %v", alias, err)
}
if err := wac.DeleteCollection(c.Alias); err != nil {
t.Fatalf("Unable to delete collection %q: %v", alias, err)
}
}
func TestDeleteCollectionUnauthenticated(t *testing.T) {
wac := NewDevClient()
now := time.Now().Unix()
alias := fmt.Sprintf("test-collection-does-not-exist-%v", now)
err := wac.DeleteCollection(alias)
if err == nil {
t.Fatalf("Should not be able to delete collection %q unauthenticated.", alias)
}
if !strings.Contains(err.Error(), "Not authenticated") {
t.Fatalf("Error message should be more informative: %v", err)
}
}
diff --git a/post_test.go b/post_test.go
index a7e3475..9d2fb47 100644
--- a/post_test.go
+++ b/post_test.go
@@ -1,110 +1,93 @@
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)
+ }
+ }
})
- 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)
+ 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
}
- }
-
- 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)
+ 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
}
- }
-}
-
-func TestPinPost(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.PinPost("tester", &PinnedPostParams{ID: "olx6uk7064heqltf"})
- if err != nil {
- t.Fatalf("Pin failed: %v", err)
- }
+ t.Logf("Post deleted!")
+ })
}
-func TestUnpinPost(t *testing.T) {
+func TestPinUnPin(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",
})
if err != nil {
fmt.Printf("Unable to create: %v", err)
return
}
fmt.Printf("%s", p.Content)
// Output: This is a post.
}

File Metadata

Mime Type
text/x-diff
Expires
Thu, May 15, 7:42 PM (1 d, 18 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3239877

Event Timeline