add test to alter comment

This commit is contained in:
Umputun
2019-05-17 02:40:38 -05:00
parent cc37fbef13
commit 00166fe57c
+26 -16
View File
@@ -6,7 +6,6 @@ import (
"net/http"
"net/http/httptest"
"os"
"strconv"
"strings"
"sync"
"sync/atomic"
@@ -726,22 +725,33 @@ func TestService_submitImages(t *testing.T) {
func TestService_alterComment(t *testing.T) {
defer teardown(t)
svc := DataStore{Interface: prepStoreEngine(t), AdminStore: admin.NewStaticKeyStore("secret 123")}
tbl := []struct {
c store.Comment
u store.User
r store.Comment
}{
{store.Comment{}, store.User{}, store.Comment{}},
{store.Comment{}, store.User{}, store.Comment{}},
}
for i, tt := range tbl {
t.Run(strconv.Itoa(i), func(t *testing.T) {
r := svc.alterComment(tt.c, tt.u)
assert.Equal(t, tt.r, r)
})
}
engineMock := engine.MockInterface{}
engineMock.On("IsBlocked", mock.Anything, mock.Anything).Return(false)
engineMock.On("IsVerified", mock.Anything, mock.Anything).Return(false)
svc := DataStore{Interface: &engineMock}
r := svc.alterComment(store.Comment{ID: "123", User: store.User{IP: "127.0.0.1"}}, store.User{Name: "dev", Admin: false})
assert.Equal(t, store.Comment{ID: "123", User: store.User{IP: ""}}, r, "ip cleaned")
r = svc.alterComment(store.Comment{ID: "123", User: store.User{IP: "127.0.0.1"}}, store.User{Name: "dev", Admin: true})
assert.Equal(t, store.Comment{ID: "123", User: store.User{IP: "127.0.0.1"}}, r, "ip not cleaned")
engineMock = engine.MockInterface{}
engineMock.On("IsBlocked", mock.Anything, mock.Anything).Return(false)
engineMock.On("IsVerified", mock.Anything, mock.Anything).Return(true)
svc = DataStore{Interface: &engineMock}
r = svc.alterComment(store.Comment{ID: "123", User: store.User{IP: "127.0.0.1", Verified: true}},
store.User{Name: "dev", Admin: false})
assert.Equal(t, store.Comment{ID: "123", User: store.User{IP: "", Verified: true}}, r, "verified set")
engineMock = engine.MockInterface{}
engineMock.On("IsBlocked", mock.Anything, mock.Anything).Return(true)
engineMock.On("IsVerified", mock.Anything, mock.Anything).Return(false)
svc = DataStore{Interface: &engineMock}
r = svc.alterComment(store.Comment{ID: "123", User: store.User{IP: "127.0.0.1", Verified: true}},
store.User{Name: "dev", Admin: false})
assert.Equal(t, store.Comment{ID: "123", User: store.User{IP: "", Verified: true, Blocked: true}, Deleted: true}, r,
"blocked")
}
// makes new boltdb, put two records