| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- package issues
- import (
- "testing"
- "github.com/stretchr/testify/assert"
- )
- func Test_Issue_New(t *testing.T) {
- testIssue := Issue{
- Title: "test 1",
- Description: Field{Data: "test description\n", Path: "/description"},
- Status: Field{Data: "open:test\n", Path: "/status"},
- Path: "tests/bugs/test-1",
- Tags: VariadicField{
- Path: "/tags", Fields: []Field{
- {Path: "tag1"},
- {Path: "tag2"},
- },
- },
- Blockedby: VariadicField{
- Path: "/blockedby", Fields: []Field{
- {Path: "blocker1"},
- {Path: "blocker2"},
- },
- },
- }
- issue, _ := Issue.New(Issue{}, testIssue.Title, testIssue.Status, testIssue.Tags, testIssue.Blockedby, testIssue.Path)
- assert.Equal(t, testIssue.Title, issue.Title)
- assert.Equal(t, testIssue.Status, issue.Status)
- assert.Equal(t, testIssue.Tags, issue.Tags)
- assert.Equal(t, testIssue.Blockedby, issue.Blockedby)
- assert.Equal(t, testIssue.Path, issue.Path)
- }
- func Test_Issue_NewFromPath_err_bad_path(t *testing.T) {
- testIssue := Issue{}
- issue, err := Issue.NewFromPath(testIssue, "doesntexist")
- assert.Error(t, err)
- assert.Equal(t, testIssue, issue)
- }
- func Test_Issue_NewFromPath_success(t *testing.T) {
- testIssue := Issue{
- Title: "test 1",
- Description: Field{Data: "test description", Path: "/description"},
- Status: Field{Data: "open:test", Path: "/status"},
- Path: "tests/bugs/test-1",
- Tags: VariadicField{
- Path: "/tags", Fields: []Field{
- {Path: "tag1"},
- {Path: "tag2"},
- },
- },
- Blockedby: VariadicField{
- Path: "/blockedby", Fields: []Field{
- {Path: "blocker1"},
- {Path: "blocker2"},
- },
- },
- }
- issue, err := Issue.NewFromPath(Issue{}, "tests/bugs/test-1")
- if err != nil {
- assert.Fail(t, "should not err")
- }
- assert.Equal(t, testIssue.Title, issue.Title)
- assert.Equal(t, testIssue.Description, issue.Description)
- assert.Equal(t, testIssue.Status, issue.Status)
- assert.Equal(t, testIssue.Tags, issue.Tags)
- assert.Equal(t, testIssue.Blockedby, issue.Blockedby)
- assert.Equal(t, testIssue.Path, issue.Path)
- }
- func Test_Field_New(t *testing.T) {
- var testF = Field{Path: "test1", Data: "test1"}
- f := Field.New(Field{}, testF.Path, testF.Data)
- assert.Equal(t, testF, f)
- }
- func Test_VariadicField_New(t *testing.T) {
- var testVF = VariadicField{Path: "testing", Fields: []Field{{Path: "test"}}}
- vf := VariadicField.New(VariadicField{}, testVF.Fields, testVF.Path)
- assert.Equal(t, testVF, vf)
- }
- func Test_VariadicField_NewFromPath_fails(t *testing.T) {
- _, err := VariadicField.NewFromPath(VariadicField{Path: "/tags"}, "dosentexist")
- assert.Error(t, err)
- }
- func Test_VariadicField_NewFromPath_no_tags_dir(t *testing.T) {
- _, err := VariadicField.NewFromPath(VariadicField{Path: "/tags"}, "tests/bugs/test-2")
- assert.Error(t, err, "should not find tags")
- }
- func Test_VariadicField_NewFromPath_no_tags_in_dir(t *testing.T) {
- vf, err := VariadicField.NewFromPath(VariadicField{Path: "/tags"}, "tests/bugs/test-3")
- if err != nil {
- assert.Fail(t, "should not throw error")
- }
- assert.Equal(t, len(vf.Fields), 0)
- }
- func Test_VariadicField_NewFromPath_skip_dotfile(t *testing.T) {
- vf, err := VariadicField.NewFromPath(VariadicField{Path: "/tags"}, "tests/bugs/test-4")
- if err != nil {
- assert.Fail(t, "should not throw error")
- }
- assert.Equal(t, len(vf.Fields), 2)
- }
- func Test_VariadicField_NewFromPath_success(t *testing.T) {
- vf, err := VariadicField.NewFromPath(VariadicField{Path: "/tags"}, "tests/bugs/test-1")
- if err != nil {
- assert.Fail(t, "should not throw error")
- }
- assert.Equal(t, len(vf.Fields), 2)
- }
- func Test_parsePathToHuman(t *testing.T) {
- testPath := "test-dir/test-1--content"
- testParse := "test 1-content"
- parseResult := parsePathToHuman(testPath)
- assert.Equal(t, testParse, parseResult)
- }
- func Test_parseHumanToPath(t *testing.T) {
- testHuman := "test 1-content"
- testParse := "test-1--content"
- parseResult := parseHumanToPath(testHuman)
- assert.Equal(t, testParse, parseResult)
- }
|