i18n翻译
This commit is contained in:
@@ -2,7 +2,9 @@ package cron
|
||||
|
||||
import (
|
||||
"context"
|
||||
"epic/internal/logic/i18n"
|
||||
"fmt"
|
||||
_ "github.com/gogf/gf/contrib/drivers/mysql/v2"
|
||||
_ "github.com/gogf/gf/contrib/nosql/redis/v2"
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"github.com/gogf/gf/v2/os/gctx"
|
||||
@@ -21,35 +23,6 @@ func TestMain(m *testing.M) {
|
||||
os.Exit(code)
|
||||
}
|
||||
|
||||
type mockSync struct {
|
||||
fetchHeroDataErr error
|
||||
fetchArtifactDataErr error
|
||||
processHeroDataErr error
|
||||
processArtifactErr error
|
||||
}
|
||||
|
||||
func (m *mockSync) fetchHeroDataFromAPI(ctx context.Context) ([]byte, error) {
|
||||
if m.fetchHeroDataErr != nil {
|
||||
return nil, m.fetchHeroDataErr
|
||||
}
|
||||
return []byte(`[{"code":"hero1"},{"code":"hero2"}]`), nil
|
||||
}
|
||||
|
||||
func (m *mockSync) fetchArtifactDataFromAPI(ctx context.Context) ([]byte, error) {
|
||||
if m.fetchArtifactDataErr != nil {
|
||||
return nil, m.fetchArtifactDataErr
|
||||
}
|
||||
return []byte(`[{"code":"artifact1"}]`), nil
|
||||
}
|
||||
|
||||
func (m *mockSync) processAndSaveHeroData(ctx context.Context, data []byte) error {
|
||||
return m.processHeroDataErr
|
||||
}
|
||||
|
||||
func (m *mockSync) processAndSaveArtifactData(ctx context.Context, data []byte) error {
|
||||
return m.processArtifactErr
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试同步英雄数据
|
||||
*/
|
||||
@@ -62,81 +35,9 @@ func TestSyncHeroData(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
//func TestSyncHeroData_FetchError(t *testing.T) {
|
||||
// sync := &ThirdPartyDataSync{}
|
||||
// sync.fetchHeroDataFromAPI = (&mockSync{fetchHeroDataErr: errors.New("fetch error")}).fetchHeroDataFromAPI
|
||||
// sync.processAndSaveHeroData = (&mockSync{}).processAndSaveHeroData
|
||||
//
|
||||
// err := sync.SyncHeroData(context.Background())
|
||||
// if err == nil || err.Error() != "fetch error" {
|
||||
// t.Errorf("expected fetch error, got: %v", err)
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//func TestSyncHeroData_ProcessError(t *testing.T) {
|
||||
// sync := &ThirdPartyDataSync{}
|
||||
// sync.fetchHeroDataFromAPI = (&mockSync{}).fetchHeroDataFromAPI
|
||||
// sync.processAndSaveHeroData = (&mockSync{processHeroDataErr: errors.New("process error")}).processAndSaveHeroData
|
||||
//
|
||||
// err := sync.SyncHeroData(context.Background())
|
||||
// if err == nil || err.Error() != "process error" {
|
||||
// t.Errorf("expected process error, got: %v", err)
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//func TestSyncArtifactData_Success(t *testing.T) {
|
||||
// sync := &ThirdPartyDataSync{}
|
||||
// sync.fetchArtifactDataFromAPI = (&mockSync{}).fetchArtifactDataFromAPI
|
||||
// sync.processAndSaveArtifactData = (&mockSync{}).processAndSaveArtifactData
|
||||
//
|
||||
// err := sync.SyncArtifactData(context.Background())
|
||||
// if err != nil {
|
||||
// t.Errorf("expected success, got error: %v", err)
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//func TestSyncArtifactData_FetchError(t *testing.T) {
|
||||
|
||||
// sync := &ThirdPartyDataSync{}
|
||||
// sync.fetchArtifactDataFromAPI = (&mockSync{fetchArtifactDataErr: errors.New("fetch error")}).fetchArtifactDataFromAPI
|
||||
// sync.processAndSaveArtifactData = (&mockSync{}).processAndSaveArtifactData
|
||||
//
|
||||
// err := sync.SyncArtifactData(context.Background())
|
||||
// if err == nil || err.Error() != "fetch error" {
|
||||
// t.Errorf("expected fetch error, got: %v", err)
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//func TestSyncArtifactData_ProcessError(t *testing.T) {
|
||||
// sync := &ThirdPartyDataSync{}
|
||||
// sync.fetchArtifactDataFromAPI = (&mockSync{}).fetchArtifactDataFromAPI
|
||||
// sync.processAndSaveArtifactData = (&mockSync{processArtifactErr: errors.New("process error")}).processAndSaveArtifactData
|
||||
//
|
||||
// err := sync.SyncArtifactData(context.Background())
|
||||
// if err == nil || err.Error() != "process error" {
|
||||
// t.Errorf("expected process error, got: %v", err)
|
||||
// }
|
||||
//}
|
||||
|
||||
func TestProcessAndSaveArtifactData(t *testing.T) {
|
||||
sync := &ThirdPartyDataSync{}
|
||||
// 构造一个合法的 JSON 数据
|
||||
data := "[{\"code\":\"artifact1\"},{\"code\":\"artifact2\"}]"
|
||||
if err := sync.processAndSaveArtifactData(context.Background(), data); err != nil {
|
||||
t.Errorf("expected no error, got: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestProcessAndSaveHeroData(t *testing.T) {
|
||||
sync := &ThirdPartyDataSync{}
|
||||
// 构造一个合法的 JSON 数据
|
||||
data := []byte(`[{"code":"hero1"},{"code":"hero2"}]`)
|
||||
if err := sync.processAndSaveHeroData(context.Background(), data); err != nil {
|
||||
t.Errorf("expected no error, got: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试同步神器数据
|
||||
*/
|
||||
func TestSyncArtifactData_Success(t *testing.T) {
|
||||
sync := NewThirdPartyDataSync()
|
||||
|
||||
@@ -145,3 +46,14 @@ func TestSyncArtifactData_Success(t *testing.T) {
|
||||
t.Errorf("expected success, but got error: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestInitI18nStaticToDB(t *testing.T) {
|
||||
//t.Skip("仅初始化时手动执行一次,谨慎运行!")
|
||||
ctx := context.Background()
|
||||
// 直接批量导入,不做重复检查
|
||||
err := i18n.ImportI18nFromMap(ctx, "zh", i18n.I18nEnToZh, "init")
|
||||
if err != nil {
|
||||
t.Fatalf("导入静态i18n数据失败: %v", err)
|
||||
}
|
||||
t.Logf("静态i18n数据导入成功,共%d条", len(i18n.I18nEnToZh))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user