github.com/gnolang/gno@v0.0.0-20240520182011-228e9d0192ce/examples/gno.land/r/demo/microblog/microblog_test.gno (about) 1 package microblog 2 3 import ( 4 "log" 5 "std" 6 "strings" 7 "testing" 8 9 "gno.land/p/demo/avl" 10 "gno.land/p/demo/microblog" 11 "gno.land/p/demo/testutils" 12 ) 13 14 func TestMicroblog(t *testing.T) { 15 const ( 16 author1 std.Address = testutils.TestAddress("author1") 17 author2 std.Address = testutils.TestAddress("author2") 18 ) 19 20 std.TestSetOrigCaller(author1) 21 22 if Render("/wrongpath") != "404" { 23 t.Fatalf("rendering not giving 404") 24 } 25 if Render("") == "404" { 26 t.Fatalf("rendering / should not give 404") 27 } 28 if err := m.NewPost("goodbyte, web2"); err != nil { 29 t.Fatalf("could not create post") 30 } 31 if _, err := m.GetPage(author1.String()); err != nil { 32 t.Fatalf("silo should exist") 33 } 34 if _, err := m.GetPage("no such author"); err == nil { 35 t.Fatalf("silo should not exist") 36 } 37 38 std.TestSetOrigCaller(author2) 39 40 if err := m.NewPost("hello, web3"); err != nil { 41 t.Fatalf("could not create post") 42 } 43 if err := m.NewPost("hello again, web3"); err != nil { 44 t.Fatalf("could not create post") 45 } 46 if err := m.NewPost("hi again,\n web4?"); err != nil { 47 t.Fatalf("could not create post") 48 } 49 50 println("--- MICROBLOG ---\n\n") 51 if rendering := Render(""); rendering != `# gno-based microblog 52 53 # pages 54 55 - [g1v96hg6r0wgc47h6lta047h6lta047h6lm33tq6](/r/demo/microblog:g1v96hg6r0wgc47h6lta047h6lta047h6lm33tq6) 56 - [g1v96hg6r0wge97h6lta047h6lta047h6lyz7c00](/r/demo/microblog:g1v96hg6r0wge97h6lta047h6lta047h6lyz7c00) 57 ` { 58 t.Fatalf("incorrect rendering /: '%s'", rendering) 59 } 60 61 if rendering := strings.TrimSpace(Render(author1.String())); rendering != `## [g1v96hg6r0wgc47h6lta047h6lta047h6lm33tq6](/r/demo/microblog:g1v96hg6r0wgc47h6lta047h6lta047h6lm33tq6) 62 63 joined 2009-13-02, last updated 2009-13-02 64 65 ## feed 66 67 > goodbyte, web2 68 > 69 > *Fri, 13 Feb 2009 23:31:30 UTC*` { 70 t.Fatalf("incorrect rendering /: '%s'", rendering) 71 } 72 73 if rendering := strings.TrimSpace(Render(author2.String())); rendering != `## [g1v96hg6r0wge97h6lta047h6lta047h6lyz7c00](/r/demo/microblog:g1v96hg6r0wge97h6lta047h6lta047h6lyz7c00) 74 75 joined 2009-13-02, last updated 2009-13-02 76 77 ## feed 78 79 > hi again, 80 > 81 > web4? 82 > 83 > *Fri, 13 Feb 2009 23:31:30 UTC* 84 85 > hello again, web3 86 > 87 > *Fri, 13 Feb 2009 23:31:30 UTC* 88 89 > hello, web3 90 > 91 > *Fri, 13 Feb 2009 23:31:30 UTC*` { 92 t.Fatalf("incorrect rendering /: '%s'", rendering) 93 } 94 }