-
Notifications
You must be signed in to change notification settings - Fork 95
Expand file tree
/
Copy pathformat_text_test.go
More file actions
76 lines (62 loc) · 2.4 KB
/
format_text_test.go
File metadata and controls
76 lines (62 loc) · 2.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
package formatters_test
import (
"testing"
"github.com/oasdiff/oasdiff/checker"
"github.com/oasdiff/oasdiff/formatters"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
var textFormatter = formatters.TEXTFormatter{
Localizer: MockLocalizer,
}
func TestTextLookup(t *testing.T) {
f, err := formatters.Lookup(string(formatters.FormatText), formatters.DefaultFormatterOpts())
require.NoError(t, err)
require.IsType(t, formatters.TEXTFormatter{}, f)
}
func TestTextFormatter_RenderChangelog(t *testing.T) {
testChanges := checker.Changes{
checker.ComponentChange{
Id: "change_id",
Level: checker.ERR,
Component: "test",
},
}
out, err := textFormatter.RenderChangelog(testChanges, formatters.NewRenderOpts(), "", "")
require.NoError(t, err)
require.Equal(t, "1 changes: 1 error, 0 warning, 0 info\nerror\t[change_id] \t\n\tin components/test\n\t\tThis is a breaking change.\n\n", string(out))
}
func TestTextFormatter_RenderChecks(t *testing.T) {
checks := formatters.Checks{
{
Id: "change_id",
Level: "info",
Description: "This is a breaking change.",
},
}
out, err := textFormatter.RenderChecks(checks, formatters.NewRenderOpts())
require.NoError(t, err)
require.Equal(t, string(out), "ID DESCRIPTION LEVEL\nchange_id This is a breaking change. info\n")
}
func TestTextFormatter_RenderChangelog_EmptyChangesDifferentSpecs(t *testing.T) {
out, err := textFormatter.RenderChangelog(checker.Changes{}, formatters.RenderOpts{}, "", "")
require.NoError(t, err)
require.Equal(t, "No changes to report, but the specs are different", string(out))
}
func TestTextFormatter_RenderChangelog_EmptyChangesDifferentSpecs_BreakingMode(t *testing.T) {
out, err := textFormatter.RenderChangelog(checker.Changes{}, formatters.RenderOpts{IsBreaking: true}, "", "")
require.NoError(t, err)
require.Equal(t, "No breaking changes to report, but the specs are different", string(out))
}
func TestTextFormatter_RenderDiff(t *testing.T) {
out, err := textFormatter.RenderDiff(nil, formatters.NewRenderOpts())
require.NoError(t, err)
require.Equal(t, string(out), "No changes\n")
}
func TestTextFormatter_NotImplemented(t *testing.T) {
var err error
_, err = textFormatter.RenderFlatten(nil, formatters.NewRenderOpts())
assert.Error(t, err)
_, err = textFormatter.RenderSummary(nil, formatters.NewRenderOpts())
assert.Error(t, err)
}