Skip to content

Commit

Permalink
💣 WIP write test
Browse files Browse the repository at this point in the history
  • Loading branch information
Omochice committed Sep 27, 2021
1 parent c853b7e commit 9b85ea2
Show file tree
Hide file tree
Showing 2 changed files with 65 additions and 6 deletions.
13 changes: 7 additions & 6 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ type Translation struct {
Text string `json:"text"`
}

func LoadSettings(setting Setting) (Setting, error) {
func LoadSettings(setting Setting, automake bool) (Setting, error) {
if setting.AuthKey == "" {
return setting, fmt.Errorf("No deepl token is set.")
}
Expand All @@ -65,9 +65,11 @@ func LoadSettings(setting Setting) (Setting, error) {
bytes, err := ioutil.ReadFile(configPath)
if err != nil {
errStr := fmt.Errorf("Not exists such file. %s\n\tauto make it, please write it. ", configPath)
err := InitializeConfigFile(configPath)
if err != nil {
return setting, err
if automake {
err := InitializeConfigFile(configPath)
if err != nil {
return setting, err
}
}
return setting, errStr
}
Expand Down Expand Up @@ -133,7 +135,6 @@ func Translate(Text string, setting Setting) ([]string, error) {
}

return results, err

}

func ParseResponse(resp *http.Response) (Response, error) {
Expand Down Expand Up @@ -193,7 +194,7 @@ func main() {
SourceLang: c.String("source_lang"),
TargetLang: c.String("target_lang"),
AuthKey: os.Getenv("DEEPL_TOKEN"),
})
}, true)
if err != nil {
return err
}
Expand Down
58 changes: 58 additions & 0 deletions main_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
package main

import (
"testing"
)

func TestLoadsettings(t *testing.T) {
var setting Setting
var actual Setting
var err error
var errorText string

//
errorText = "The function should not overload SourceLang / TargetLang if eigher is not set."
setting = Setting{
AuthKey: "test",
SourceLang: "EN",
TargetLang: "JA",
}
actual, err = LoadSettings(setting, false)
if err != nil {
t.Fatalf(errorText+"\n%#v", err)
}
if setting.AuthKey != actual.AuthKey ||
setting.SourceLang != actual.SourceLang ||
setting.TargetLang != actual.TargetLang {
t.Fatalf(errorText+"\nExpected: %#v\nActual: %#v", setting, actual)
}

//
errorText = "The function should occur error if AuthKey is not set."
expectedErrorText := "No deepl token is set." // DRY...
setting = Setting{
AuthKey: "",
SourceLang: "EN",
TargetLang: "JA",
}
actual, err = LoadSettings(setting, false)
if err == nil {
t.Fatalf(errorText+"\nReturned: %#v", actual)
} else if err.Error() != expectedErrorText {
t.Fatalf(errorText+"\nExpected: %s\nActual: %s", expectedErrorText, err.Error())
}

//
errorText = "The function should occur error if SourceLang == TargetLang"
setting = Setting{
AuthKey: "test",
SourceLang: "EN",
TargetLang: "EN",
}
actual, err = LoadSettings(setting, false)
if err == nil {
t.Fatalf(errorText+"\nInputed: %#v", setting)
}
}

func TestTranslate(t *testing.T) {}

0 comments on commit 9b85ea2

Please sign in to comment.