Refactoring tests (done)
This commit is contained in:
parent
4aef1ca2ee
commit
76ef9c1fe6
|
@ -104,8 +104,5 @@ func TestMultiUserPostMediaHandler(t *testing.T) {
|
|||
assertions.AssertStatus(t, rr, http.StatusOK)
|
||||
|
||||
// Check the response body contains data of media file
|
||||
if !(rr.Body.String() == "test") {
|
||||
t.Error("Got wrong media file content. Expected 'test' Got: ")
|
||||
t.Error(rr.Body.String())
|
||||
}
|
||||
assertions.Assert(t, rr.Body.String() == "test", "Response body is not equal to test")
|
||||
}
|
||||
|
|
|
@ -8,7 +8,6 @@ import (
|
|||
"net/http/httptest"
|
||||
"os"
|
||||
"path"
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
|
||||
|
@ -68,10 +67,7 @@ func TestSingleUserPostMediaHandler(t *testing.T) {
|
|||
assertions.AssertStatus(t, rr, http.StatusOK)
|
||||
|
||||
// Check the response body contains data of media file
|
||||
if !(rr.Body.String() == "test") {
|
||||
t.Error("Got wrong media file content. Expected 'test' Got: ")
|
||||
t.Error(rr.Body.String())
|
||||
}
|
||||
assertions.Assert(t, rr.Body.String() == "test", "Media file data not returned")
|
||||
}
|
||||
|
||||
func TestHasNoDraftsInList(t *testing.T) {
|
||||
|
@ -101,8 +97,5 @@ func TestHasNoDraftsInList(t *testing.T) {
|
|||
router.ServeHTTP(rr, req)
|
||||
|
||||
// Check if title is in the response body
|
||||
if strings.Contains(rr.Body.String(), "Articles September 2019") {
|
||||
t.Error("Articles September 2019 listed on index page. Got: ")
|
||||
t.Error(rr.Body.String())
|
||||
}
|
||||
assertions.AssertNotContains(t, rr.Body.String(), "Articles September 2019")
|
||||
}
|
||||
|
|
|
@ -310,9 +310,7 @@ func TestCanSendWebmention(t *testing.T) {
|
|||
|
||||
assertions.AssertLen(t, webmentions, 1)
|
||||
assertions.AssertEqual(t, webmentions[0].Target, "http://example.com")
|
||||
if webmentions[0].LastSentAt.IsZero() {
|
||||
t.Errorf("Expected LastSentAt to be set")
|
||||
}
|
||||
assertions.AssertEqual(t, webmentions[0].LastSentAt.IsZero(), false)
|
||||
}
|
||||
|
||||
func TestSendWebmentionOnlyScansOncePerWeek(t *testing.T) {
|
||||
|
@ -332,9 +330,7 @@ func TestSendWebmentionOnlyScansOncePerWeek(t *testing.T) {
|
|||
webmention = webmentions[0]
|
||||
|
||||
err := post.SendWebmention(webmention)
|
||||
if err == nil {
|
||||
t.Errorf("Expected error, got nil")
|
||||
}
|
||||
assertions.AssertError(t, err, "Expected error, got nil")
|
||||
|
||||
webmentions = post.OutgoingWebmentions()
|
||||
|
||||
|
|
|
@ -41,6 +41,13 @@ func AssertNoError(t *testing.T, err error, message string) {
|
|||
}
|
||||
}
|
||||
|
||||
func AssertError(t *testing.T, err error, message string) {
|
||||
t.Helper()
|
||||
if err == nil {
|
||||
t.Errorf(message)
|
||||
}
|
||||
}
|
||||
|
||||
func AssertLen[T any](t *testing.T, list []T, expected int) {
|
||||
t.Helper()
|
||||
if len(list) != expected {
|
||||
|
@ -69,3 +76,17 @@ func AssertStatus(t *testing.T, rr *httptest.ResponseRecorder, expStatus int) {
|
|||
return
|
||||
}
|
||||
}
|
||||
|
||||
func AssertLessThan(t *testing.T, actual int, expected int) {
|
||||
t.Helper()
|
||||
if actual >= expected {
|
||||
t.Errorf("Expected '%d' to be less than '%d'", actual, expected)
|
||||
}
|
||||
}
|
||||
|
||||
func AssertGreaterThan(t *testing.T, actual int, expected int) {
|
||||
t.Helper()
|
||||
if actual <= expected {
|
||||
t.Errorf("Expected '%d' to be greater than '%d'", actual, expected)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,7 +5,6 @@ import (
|
|||
"h4kor/owl-blogs/priv/assertions"
|
||||
"os"
|
||||
"path"
|
||||
"strings"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
@ -113,9 +112,7 @@ func TestRenderIndexPageWithBrokenBaseTemplate(t *testing.T) {
|
|||
os.WriteFile(path.Join(user.Dir(), "meta/base.html"), []byte("{{content}}"), 0644)
|
||||
|
||||
_, err := owl.RenderIndexPage(user)
|
||||
if err == nil {
|
||||
t.Error("Expected error rendering index page, got nil")
|
||||
}
|
||||
assertions.AssertError(t, err, "Expected error rendering index page")
|
||||
}
|
||||
|
||||
func TestRenderUserList(t *testing.T) {
|
||||
|
@ -174,9 +171,7 @@ func TestRenderPostAddsLinksToApprovedWebmention(t *testing.T) {
|
|||
result, _ := owl.RenderPost(post)
|
||||
assertions.AssertContains(t, result, "http://example.com/source3")
|
||||
assertions.AssertContains(t, result, "Test Title")
|
||||
if strings.Contains(result, "http://example.com/source4") {
|
||||
t.Error("unapproved webmention rendered. Got: " + result)
|
||||
}
|
||||
assertions.AssertNotContains(t, result, "http://example.com/source4")
|
||||
|
||||
}
|
||||
|
||||
|
@ -185,9 +180,7 @@ func TestRenderPostNotMentioningWebmentionsIfNoAvail(t *testing.T) {
|
|||
post, _ := user.CreateNewPost("testpost", false)
|
||||
result, _ := owl.RenderPost(post)
|
||||
|
||||
if strings.Contains(result, "Webmention") {
|
||||
t.Error("Webmention mentioned. Got: " + result)
|
||||
}
|
||||
assertions.AssertNotContains(t, result, "Webmention")
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -19,18 +19,15 @@ func TestCannotCreateExistingRepository(t *testing.T) {
|
|||
repoName := testRepoName()
|
||||
owl.CreateRepository(repoName, owl.RepoConfig{})
|
||||
_, err := owl.CreateRepository(repoName, owl.RepoConfig{})
|
||||
if err == nil {
|
||||
t.Error("No error returned when creating existing repository")
|
||||
}
|
||||
assertions.AssertError(t, err, "No error returned when creating existing repository")
|
||||
}
|
||||
|
||||
func TestCanCreateANewUser(t *testing.T) {
|
||||
// Create a new user
|
||||
repo := getTestRepo(owl.RepoConfig{})
|
||||
user, _ := repo.CreateUser(randomUserName())
|
||||
if _, err := os.Stat(path.Join(user.Dir(), "")); err != nil {
|
||||
t.Error("User directory not created")
|
||||
}
|
||||
_, err := os.Stat(path.Join(user.Dir(), ""))
|
||||
assertions.AssertNoError(t, err, "Error creating user: ")
|
||||
}
|
||||
|
||||
func TestCannotRecreateExisitingUser(t *testing.T) {
|
||||
|
@ -39,45 +36,39 @@ func TestCannotRecreateExisitingUser(t *testing.T) {
|
|||
userName := randomUserName()
|
||||
repo.CreateUser(userName)
|
||||
_, err := repo.CreateUser(userName)
|
||||
if err == nil {
|
||||
t.Error("No error returned when creating existing user")
|
||||
}
|
||||
assertions.AssertError(t, err, "No error returned when creating existing user")
|
||||
}
|
||||
|
||||
func TestCreateUserAddsVersionFile(t *testing.T) {
|
||||
// Create a new user
|
||||
repo := getTestRepo(owl.RepoConfig{})
|
||||
user, _ := repo.CreateUser(randomUserName())
|
||||
if _, err := os.Stat(path.Join(user.Dir(), "/meta/VERSION")); err != nil {
|
||||
t.Error("Version file not created")
|
||||
}
|
||||
_, err := os.Stat(path.Join(user.Dir(), "/meta/VERSION"))
|
||||
assertions.AssertNoError(t, err, "Version file not created")
|
||||
}
|
||||
|
||||
func TestCreateUserAddsBaseHtmlFile(t *testing.T) {
|
||||
// Create a new user
|
||||
repo := getTestRepo(owl.RepoConfig{})
|
||||
user, _ := repo.CreateUser(randomUserName())
|
||||
if _, err := os.Stat(path.Join(user.Dir(), "/meta/base.html")); err != nil {
|
||||
t.Error("Base html file not created")
|
||||
}
|
||||
_, err := os.Stat(path.Join(user.Dir(), "/meta/base.html"))
|
||||
assertions.AssertNoError(t, err, "Base html file not created")
|
||||
}
|
||||
|
||||
func TestCreateUserAddConfigYml(t *testing.T) {
|
||||
// Create a new user
|
||||
repo := getTestRepo(owl.RepoConfig{})
|
||||
user, _ := repo.CreateUser(randomUserName())
|
||||
if _, err := os.Stat(path.Join(user.Dir(), "/meta/config.yml")); err != nil {
|
||||
t.Error("Config file not created")
|
||||
}
|
||||
_, err := os.Stat(path.Join(user.Dir(), "/meta/config.yml"))
|
||||
assertions.AssertNoError(t, err, "Config file not created")
|
||||
}
|
||||
|
||||
func TestCreateUserAddsPublicFolder(t *testing.T) {
|
||||
// Create a new user
|
||||
repo := getTestRepo(owl.RepoConfig{})
|
||||
user, _ := repo.CreateUser(randomUserName())
|
||||
if _, err := os.Stat(path.Join(user.Dir(), "/public")); err != nil {
|
||||
t.Error("Public folder not created")
|
||||
}
|
||||
_, err := os.Stat(path.Join(user.Dir(), "/public"))
|
||||
assertions.AssertNoError(t, err, "Public folder not created")
|
||||
}
|
||||
|
||||
func TestCanListRepoUsers(t *testing.T) {
|
||||
|
@ -89,9 +80,11 @@ func TestCanListRepoUsers(t *testing.T) {
|
|||
users, _ := repo.Users()
|
||||
assertions.AssertLen(t, users, 2)
|
||||
for _, user := range users {
|
||||
if user.Name() != user1.Name() && user.Name() != user2.Name() {
|
||||
t.Error("User found: " + user.Name())
|
||||
}
|
||||
assertions.AssertNot(
|
||||
t,
|
||||
user.Name() != user1.Name() && user.Name() != user2.Name(),
|
||||
"User found: "+user.Name(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -102,16 +95,12 @@ func TestCanOpenRepository(t *testing.T) {
|
|||
// Open the repository
|
||||
repo2, err := owl.OpenRepository(repoName)
|
||||
assertions.AssertNoError(t, err, "Error opening repository: ")
|
||||
if repo2.Dir() != repo.Dir() {
|
||||
t.Error("Repository directories do not match")
|
||||
}
|
||||
assertions.Assert(t, repo2.Dir() == repo.Dir(), "Repository directories do not match")
|
||||
}
|
||||
|
||||
func TestCannotOpenNonExisitingRepo(t *testing.T) {
|
||||
_, err := owl.OpenRepository(testRepoName())
|
||||
if err == nil {
|
||||
t.Error("No error returned when opening non-existing repository")
|
||||
}
|
||||
assertions.AssertError(t, err, "No error returned when opening non-existing repository")
|
||||
}
|
||||
|
||||
func TestGetUser(t *testing.T) {
|
||||
|
@ -121,18 +110,14 @@ func TestGetUser(t *testing.T) {
|
|||
// Get the user
|
||||
user2, err := repo.GetUser(user.Name())
|
||||
assertions.AssertNoError(t, err, "Error getting user: ")
|
||||
if user2.Name() != user.Name() {
|
||||
t.Error("User names do not match")
|
||||
}
|
||||
assertions.Assert(t, user2.Name() == user.Name(), "User names do not match")
|
||||
}
|
||||
|
||||
func TestCannotGetNonexistingUser(t *testing.T) {
|
||||
// Create a new user
|
||||
repo := getTestRepo(owl.RepoConfig{})
|
||||
_, err := repo.GetUser(randomUserName())
|
||||
if err == nil {
|
||||
t.Error("No error returned when getting non-existing user")
|
||||
}
|
||||
assertions.AssertError(t, err, "No error returned when getting non-existing user")
|
||||
}
|
||||
|
||||
func TestGetStaticDirOfRepo(t *testing.T) {
|
||||
|
@ -140,24 +125,19 @@ func TestGetStaticDirOfRepo(t *testing.T) {
|
|||
repo := getTestRepo(owl.RepoConfig{})
|
||||
// Get the user
|
||||
staticDir := repo.StaticDir()
|
||||
if staticDir == "" {
|
||||
t.Error("Static dir not returned")
|
||||
}
|
||||
assertions.Assert(t, staticDir != "", "Static dir is empty")
|
||||
}
|
||||
|
||||
func TestNewRepoGetsStaticFiles(t *testing.T) {
|
||||
// Create a new user
|
||||
repo := getTestRepo(owl.RepoConfig{})
|
||||
if _, err := os.Stat(repo.StaticDir()); err != nil {
|
||||
t.Error("Static directory not found")
|
||||
}
|
||||
_, err := os.Stat(repo.StaticDir())
|
||||
assertions.AssertNoError(t, err, "Static dir not created")
|
||||
dir, _ := os.Open(repo.StaticDir())
|
||||
defer dir.Close()
|
||||
files, _ := dir.Readdirnames(-1)
|
||||
|
||||
if len(files) == 0 {
|
||||
t.Error("No static files found")
|
||||
}
|
||||
assertions.AssertLen(t, files, 1)
|
||||
}
|
||||
|
||||
func TestNewRepoGetsStaticFilesPicoCSSWithContent(t *testing.T) {
|
||||
|
@ -167,17 +147,14 @@ func TestNewRepoGetsStaticFilesPicoCSSWithContent(t *testing.T) {
|
|||
assertions.AssertNoError(t, err, "Error opening pico.min.css")
|
||||
// check that the file has content
|
||||
stat, _ := file.Stat()
|
||||
if stat.Size() == 0 {
|
||||
t.Error("pico.min.css is empty")
|
||||
}
|
||||
assertions.Assert(t, stat.Size() > 0, "pico.min.css is empty")
|
||||
}
|
||||
|
||||
func TestNewRepoGetsBaseHtml(t *testing.T) {
|
||||
// Create a new user
|
||||
repo := getTestRepo(owl.RepoConfig{})
|
||||
if _, err := os.Stat(path.Join(repo.Dir(), "/base.html")); err != nil {
|
||||
t.Error("Base html file not found")
|
||||
}
|
||||
_, err := os.Stat(path.Join(repo.Dir(), "/base.html"))
|
||||
assertions.AssertNoError(t, err, "Base html file not found")
|
||||
}
|
||||
|
||||
func TestCanGetRepoTemplate(t *testing.T) {
|
||||
|
@ -186,9 +163,7 @@ func TestCanGetRepoTemplate(t *testing.T) {
|
|||
// Get the user
|
||||
template, err := repo.Template()
|
||||
assertions.AssertNoError(t, err, "Error getting template: ")
|
||||
if template == "" {
|
||||
t.Error("Template not returned")
|
||||
}
|
||||
assertions.Assert(t, template != "", "Template is empty")
|
||||
}
|
||||
|
||||
func TestCanOpenRepositoryInSingleUserMode(t *testing.T) {
|
||||
|
@ -205,9 +180,7 @@ func TestCanOpenRepositoryInSingleUserMode(t *testing.T) {
|
|||
|
||||
users, _ := repo.Users()
|
||||
assertions.AssertLen(t, users, 1)
|
||||
if users[0].Name() != userName {
|
||||
t.Error("User name does not match")
|
||||
}
|
||||
assertions.Assert(t, users[0].Name() == userName, "User name does not match")
|
||||
}
|
||||
|
||||
func TestSingleUserRepoUserUrlPathIsSimple(t *testing.T) {
|
||||
|
@ -220,9 +193,7 @@ func TestSingleUserRepoUserUrlPathIsSimple(t *testing.T) {
|
|||
// Open the repository
|
||||
repo, _ := owl.OpenRepository(repoName)
|
||||
user, _ := repo.GetUser(userName)
|
||||
if user.UrlPath() != "/" {
|
||||
t.Error("User url is not '/'. Got: ", user.UrlPath())
|
||||
}
|
||||
assertions.Assert(t, user.UrlPath() == "/", "User url path is not /")
|
||||
}
|
||||
|
||||
func TestCanGetMapWithAllPostAliases(t *testing.T) {
|
||||
|
@ -246,12 +217,8 @@ func TestCanGetMapWithAllPostAliases(t *testing.T) {
|
|||
aliases, err := repo.PostAliases()
|
||||
assertions.AssertNoError(t, err, "Error getting post aliases: ")
|
||||
assertions.AssertMapLen(t, aliases, 2)
|
||||
if aliases["/foo/bar"] == nil {
|
||||
t.Error("Alias '/foo/bar' not found")
|
||||
}
|
||||
if aliases["/foo/baz"] == nil {
|
||||
t.Error("Alias '/foo/baz' not found")
|
||||
}
|
||||
assertions.Assert(t, aliases["/foo/bar"] != nil, "Alias '/foo/bar' not found")
|
||||
assertions.Assert(t, aliases["/foo/baz"] != nil, "Alias '/foo/baz' not found")
|
||||
|
||||
}
|
||||
|
||||
|
@ -284,11 +251,7 @@ func TestAliasesHaveCorrectPost(t *testing.T) {
|
|||
aliases, err := repo.PostAliases()
|
||||
assertions.AssertNoError(t, err, "Error getting post aliases: ")
|
||||
assertions.AssertMapLen(t, aliases, 2)
|
||||
if aliases["/foo/1"].Id() != post1.Id() {
|
||||
t.Error("Alias '/foo/1' points to wrong post: ", aliases["/foo/1"].Id())
|
||||
}
|
||||
if aliases["/foo/2"].Id() != post2.Id() {
|
||||
t.Error("Alias '/foo/2' points to wrong post: ", aliases["/foo/2"].Id())
|
||||
}
|
||||
assertions.Assert(t, aliases["/foo/1"].Id() == post1.Id(), "Alias '/foo/1' does not point to post 1")
|
||||
assertions.Assert(t, aliases["/foo/2"].Id() == post2.Id(), "Alias '/foo/2' does not point to post 2")
|
||||
|
||||
}
|
||||
|
|
52
user_test.go
52
user_test.go
|
@ -50,9 +50,7 @@ func TestCreateNewPostMultipleCalls(t *testing.T) {
|
|||
user.CreateNewPost("testpost", false)
|
||||
files, err := os.ReadDir(path.Join(user.Dir(), "public"))
|
||||
assertions.AssertNoError(t, err, "Error reading directory")
|
||||
if len(files) < 3 {
|
||||
t.Errorf("Only %d posts created", len(files))
|
||||
}
|
||||
assertions.AssertEqual(t, len(files), 3)
|
||||
}
|
||||
|
||||
func TestCanListUserPosts(t *testing.T) {
|
||||
|
@ -186,23 +184,17 @@ func TestCanLoadPost(t *testing.T) {
|
|||
|
||||
posts, _ := user.Posts()
|
||||
post, _ := user.GetPost(posts[0].Id())
|
||||
if post.Title() != "testpost" {
|
||||
t.Error("Wrong title, Got: " + post.Title())
|
||||
}
|
||||
assertions.Assert(t, post.Title() == "testpost", "Post title is not correct")
|
||||
}
|
||||
|
||||
func TestUserUrlPath(t *testing.T) {
|
||||
user := getTestUser()
|
||||
if !(user.UrlPath() == "/user/"+user.Name()+"/") {
|
||||
t.Error("Wrong url path, Expected: " + "/user/" + user.Name() + "/" + " Got: " + user.UrlPath())
|
||||
}
|
||||
assertions.Assert(t, user.UrlPath() == "/user/"+user.Name()+"/", "Wrong url path")
|
||||
}
|
||||
|
||||
func TestUserFullUrl(t *testing.T) {
|
||||
user := getTestUser()
|
||||
if !(user.FullUrl() == "http://localhost:8080/user/"+user.Name()+"/") {
|
||||
t.Error("Wrong url path, Expected: " + "http://localhost:8080/user/" + user.Name() + "/" + " Got: " + user.FullUrl())
|
||||
}
|
||||
assertions.Assert(t, user.FullUrl() == "http://localhost:8080/user/"+user.Name()+"/", "Wrong url path")
|
||||
}
|
||||
|
||||
func TestPostsSortedByPublishingDateLatestFirst(t *testing.T) {
|
||||
|
@ -226,12 +218,8 @@ func TestPostsSortedByPublishingDateLatestFirst(t *testing.T) {
|
|||
os.WriteFile(post2.ContentFile(), []byte(content), 0644)
|
||||
|
||||
posts, _ := user.Posts()
|
||||
if posts[0].Id() != post2.Id() {
|
||||
t.Error("Wrong Id, Got: " + posts[0].Id())
|
||||
}
|
||||
if posts[1].Id() != post1.Id() {
|
||||
t.Error("Wrong Id, Got: " + posts[1].Id())
|
||||
}
|
||||
assertions.Assert(t, posts[0].Id() == post2.Id(), "Wrong Id")
|
||||
assertions.Assert(t, posts[1].Id() == post1.Id(), "Wrong Id")
|
||||
}
|
||||
|
||||
func TestPostsSortedByPublishingDateLatestFirst2(t *testing.T) {
|
||||
|
@ -251,9 +239,7 @@ func TestPostsSortedByPublishingDateLatestFirst2(t *testing.T) {
|
|||
|
||||
retPosts, _ := user.Posts()
|
||||
for i, p := range retPosts {
|
||||
if p.Id() != posts[i].Id() {
|
||||
t.Error("Wrong Id, Got: " + p.Id())
|
||||
}
|
||||
assertions.Assert(t, p.Id() == posts[i].Id(), "Wrong Id")
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -278,27 +264,19 @@ func TestPostsSortedByPublishingDateBrokenAtBottom(t *testing.T) {
|
|||
os.WriteFile(post2.ContentFile(), []byte(content), 0644)
|
||||
|
||||
posts, _ := user.Posts()
|
||||
if posts[0].Id() != post2.Id() {
|
||||
t.Error("Wrong Id, Got: " + posts[0].Id())
|
||||
}
|
||||
if posts[1].Id() != post1.Id() {
|
||||
t.Error("Wrong Id, Got: " + posts[1].Id())
|
||||
}
|
||||
assertions.Assert(t, posts[0].Id() == post2.Id(), "Wrong Id")
|
||||
assertions.Assert(t, posts[1].Id() == post1.Id(), "Wrong Id")
|
||||
}
|
||||
|
||||
func TestAvatarEmptyIfNotExist(t *testing.T) {
|
||||
user := getTestUser()
|
||||
if user.AvatarUrl() != "" {
|
||||
t.Error("Avatar should be empty")
|
||||
}
|
||||
assertions.Assert(t, user.AvatarUrl() == "", "Avatar should be empty")
|
||||
}
|
||||
|
||||
func TestAvatarSetIfFileExist(t *testing.T) {
|
||||
user := getTestUser()
|
||||
os.WriteFile(path.Join(user.MediaDir(), "avatar.png"), []byte("test"), 0644)
|
||||
if user.AvatarUrl() == "" {
|
||||
t.Error("Avatar should not be empty")
|
||||
}
|
||||
assertions.Assert(t, user.AvatarUrl() != "", "Avatar should not be empty")
|
||||
}
|
||||
|
||||
func TestPostNameIllegalFileName(t *testing.T) {
|
||||
|
@ -309,15 +287,11 @@ func TestPostNameIllegalFileName(t *testing.T) {
|
|||
|
||||
func TestFaviconIfNotExist(t *testing.T) {
|
||||
user := getTestUser()
|
||||
if user.FaviconUrl() != "" {
|
||||
t.Error("Favicon should be empty")
|
||||
}
|
||||
assertions.Assert(t, user.FaviconUrl() == "", "Favicon should be empty")
|
||||
}
|
||||
|
||||
func TestFaviconSetIfFileExist(t *testing.T) {
|
||||
user := getTestUser()
|
||||
os.WriteFile(path.Join(user.MediaDir(), "favicon.ico"), []byte("test"), 0644)
|
||||
if user.FaviconUrl() == "" {
|
||||
t.Error("Favicon should not be empty")
|
||||
}
|
||||
assertions.Assert(t, user.FaviconUrl() != "", "Favicon should not be empty")
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue