feat: enforce youth mode policy and improve search
This commit is contained in:
+28
-1
@@ -2602,6 +2602,29 @@ func TestServeIMAppReleaseLatest(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestServeIMAppReleaseLatestSupportsWeb(t *testing.T) {
|
||||
oldReleases := store.AppReleases
|
||||
store.AppReleases = &testAppReleaseStore{release: &types.AppRelease{
|
||||
Platform: "web", Channel: "stable", LatestVersion: "1.0.0", MinSupportedVersion: "1.0.0",
|
||||
UpdateType: "none", ReleaseNotes: "当前已是最新版本。", PublishedAt: time.Now().UTC(),
|
||||
}}
|
||||
defer func() {
|
||||
store.AppReleases = oldReleases
|
||||
}()
|
||||
|
||||
req := httptest.NewRequest(http.MethodGet, "/v1/im/app/releases/latest?platform=web¤t_version=1.0.0", nil)
|
||||
rec := httptest.NewRecorder()
|
||||
serveIMAppReleaseLatest(rec, req)
|
||||
|
||||
if rec.Code != http.StatusOK {
|
||||
t.Fatalf("status: got %d, want %d; body=%s", rec.Code, http.StatusOK, rec.Body.String())
|
||||
}
|
||||
data := decodeIMHTTPResponse(t, rec).Data.(map[string]any)
|
||||
if data["platform"] != "web" || data["has_update"] != false || data["update_type"] != "none" {
|
||||
t.Fatalf("unexpected web release payload: %#v", data)
|
||||
}
|
||||
}
|
||||
|
||||
func TestServeIMAppReleaseLatestForcesUnsupportedVersion(t *testing.T) {
|
||||
oldReleases := store.AppReleases
|
||||
store.AppReleases = &testAppReleaseStore{release: &types.AppRelease{
|
||||
@@ -2693,9 +2716,13 @@ func TestServeIMYouthModeEnableDisable(t *testing.T) {
|
||||
t.Fatalf("restriction_items: got %#v", items)
|
||||
}
|
||||
firstItem := items[0].(map[string]any)
|
||||
if firstItem["code"] != "night_quiet" || firstItem["title"] != "深夜免打扰" || firstItem["enforced"] != false {
|
||||
if firstItem["code"] != "night_quiet" || firstItem["title"] != "深夜免打扰" || firstItem["enforced"] != true {
|
||||
t.Fatalf("unexpected restriction item: %#v", firstItem)
|
||||
}
|
||||
secondItem := items[1].(map[string]any)
|
||||
if secondItem["code"] != "content_filter" || secondItem["enforced"] != true {
|
||||
t.Fatalf("unexpected content filter item: %#v", secondItem)
|
||||
}
|
||||
|
||||
security.actionToken = &types.ActionToken{Action: "close_youth_mode", Target: "youth_mode"}
|
||||
expectIMBearer(t, ctrl, "token-disable", 7, 42)
|
||||
|
||||
Reference in New Issue
Block a user