diff --git a/pkg/model/settings_test.go b/pkg/model/settings_test.go new file mode 100644 index 000000000..79c6f1e7a --- /dev/null +++ b/pkg/model/settings_test.go @@ -0,0 +1,35 @@ +package model + +import ( + "testing" +) + +func Test_SettingsValidate(t *testing.T) { + settings := Settings{} + settings.GitHubApiUrl = "https://github.com/url/with/slash/" + if err := settings.Validate(); err != ErrInvalidGitHubTrailingSlash { + t.Errorf("Expecting ErrInvalidGitHubTrailingSlash") + } + + settings = Settings{} + settings.SmtpServer = "127.1.1.1" + if err := settings.Validate(); err != ErrInvalidSmtpPort { + t.Errorf("Expecting ErrInvalidSmtpPort") + } + + settings = Settings{} + settings.SmtpServer = "127.1.1.1" + settings.SmtpPort = "553" + if err := settings.Validate(); err != ErrInvalidSmtpAddress { + t.Errorf("Expecting ErrInvalidSmtpAddress") + } + + settings = Settings{} + settings.SmtpServer = "127.1.1.1" + settings.SmtpPort = "553" + settings.SmtpAddress = "test@localhost" + settings.GitHubApiUrl = "https://api.github.com" + if err := settings.Validate(); err != nil { + t.Errorf("Expecting successful Settings validation, got %s", err) + } +}