/
uzer_007
/
Rixea
Обзор
Документация
Войти
/
uzer_007
/
Rixea
Код
Запросы
0
Задачи
Вики
Пакеты
5
Релизы
2
CI/CD
Аналитика
Безопасность
master
modules/structs/issue_test.go
105 строк
2 KB
uzer_007
feat: первая версия Rixea
02 авг 2026, 22:16
02 авг 2026, 22:16
d4f7504
Код
Авторство
О чём код?
// Copyright 2026 Uzer_007. All rights reserved. // SPDX-License-Identifier: MIT package structs import ( "testing" "github.com/stretchr/testify/assert" "go.yaml.in/yaml/v4" ) func TestIssueTemplate_Type(t *testing.T) { tests := []struct { fileName string want IssueTemplateType }{ { fileName: ".gitea/ISSUE_TEMPLATE/bug_report.yaml", want: IssueTemplateTypeYaml, }, { fileName: ".gitea/ISSUE_TEMPLATE/bug_report.md", want: IssueTemplateTypeMarkdown, }, { fileName: ".gitea/ISSUE_TEMPLATE/bug_report.txt", want: "", }, { fileName: ".gitea/ISSUE_TEMPLATE/config.yaml", want: "", }, } for _, tt := range tests { t.Run(tt.fileName, func(t *testing.T) { it := IssueTemplate{ FileName: tt.fileName, } assert.Equal(t, tt.want, it.Type()) }) } } func TestIssueTemplateStringSlice_UnmarshalYAML(t *testing.T) { tests := []struct { name string content string tmpl *IssueTemplate want *IssueTemplate wantErr string }{ { name: "array", content: `labels: ["a", "b", "c"]`, tmpl: &IssueTemplate{ Labels: []string{"should_be_overwrote"}, }, want: &IssueTemplate{ Labels: []string{"a", "b", "c"}, }, }, { name: "string", content: `labels: "a,b,c"`, tmpl: &IssueTemplate{ Labels: []string{"should_be_overwrote"}, }, want: &IssueTemplate{ Labels: []string{"a", "b", "c"}, }, }, { name: "empty", content: `labels:`, tmpl: &IssueTemplate{ Labels: []string{"should_be_overwrote"}, }, want: &IssueTemplate{ Labels: nil, }, }, { name: "error", content: ` labels: a: aa b: bb `, tmpl: &IssueTemplate{}, wantErr: "yaml: unmarshal errors:\n line 3: cannot unmarshal !!map into IssueTemplateStringSlice", }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { err := yaml.Unmarshal([]byte(tt.content), tt.tmpl) if tt.wantErr != "" { assert.EqualError(t, err, tt.wantErr) } else { assert.NoError(t, err) assert.Equal(t, tt.want, tt.tmpl) } }) } }