diff --git a/controller/book_test.go b/controller/book_test.go index c4821aa0..bb272104 100644 --- a/controller/book_test.go +++ b/controller/book_test.go @@ -11,6 +11,7 @@ import ( "github.com/ybkuroki/go-webapp-sample/model" "github.com/ybkuroki/go-webapp-sample/model/dto" "github.com/ybkuroki/go-webapp-sample/test" + "github.com/ybkuroki/go-webapp-sample/util" ) type BookDtoForBindError struct { @@ -28,7 +29,7 @@ func TestGetBook_Success(t *testing.T) { setUpTestData(container) - uri := test.NewRequestBuilder().URL(APIBooks).PathParams("1").Build().GetRequestURL() + uri := util.NewRequestBuilder().URL(APIBooks).PathParams("1").Build().GetRequestURL() req := httptest.NewRequest("GET", uri, nil) rec := httptest.NewRecorder() @@ -49,7 +50,7 @@ func TestGetBook_Failure(t *testing.T) { setUpTestData(container) - uri := test.NewRequestBuilder().URL(APIBooks).PathParams("9999").Build().GetRequestURL() + uri := util.NewRequestBuilder().URL(APIBooks).PathParams("9999").Build().GetRequestURL() req := httptest.NewRequest("GET", uri, nil) rec := httptest.NewRecorder() @@ -67,7 +68,7 @@ func TestGetBookList_Success(t *testing.T) { setUpTestData(container) - uri := test.NewRequestBuilder().URL(APIBooks).RequestParams("query", "Test").RequestParams("page", "0").RequestParams("size", "5").Build().GetRequestURL() + uri := util.NewRequestBuilder().URL(APIBooks).RequestParams("query", "Test").RequestParams("page", "0").RequestParams("size", "5").Build().GetRequestURL() req := httptest.NewRequest("GET", uri, nil) rec := httptest.NewRecorder() @@ -142,7 +143,7 @@ func TestUpdateBook_Success(t *testing.T) { setUpTestData(container) param := createBookForUpdate() - uri := test.NewRequestBuilder().URL(APIBooks).PathParams("1").Build().GetRequestURL() + uri := util.NewRequestBuilder().URL(APIBooks).PathParams("1").Build().GetRequestURL() req := test.NewJSONRequest("PUT", uri, param) rec := httptest.NewRecorder() @@ -164,7 +165,7 @@ func TestUpdateBook_BindError(t *testing.T) { setUpTestData(container) param := createBookForBindError() - uri := test.NewRequestBuilder().URL(APIBooks).PathParams("1").Build().GetRequestURL() + uri := util.NewRequestBuilder().URL(APIBooks).PathParams("1").Build().GetRequestURL() req := test.NewJSONRequest("PUT", uri, param) rec := httptest.NewRecorder() @@ -184,7 +185,7 @@ func TestUpdateBook_ValidationError(t *testing.T) { setUpTestData(container) param := createBookForValidationError() - uri := test.NewRequestBuilder().URL(APIBooks).PathParams("1").Build().GetRequestURL() + uri := util.NewRequestBuilder().URL(APIBooks).PathParams("1").Build().GetRequestURL() req := test.NewJSONRequest("PUT", uri, param) rec := httptest.NewRecorder() @@ -206,7 +207,7 @@ func TestDeleteBook_Success(t *testing.T) { entity := &model.Book{} data, _ := entity.FindByID(container.GetRepository(), 1) - uri := test.NewRequestBuilder().URL(APIBooks).PathParams("1").Build().GetRequestURL() + uri := util.NewRequestBuilder().URL(APIBooks).PathParams("1").Build().GetRequestURL() req := test.NewJSONRequest("DELETE", uri, nil) rec := httptest.NewRecorder() @@ -224,7 +225,7 @@ func TestDeleteBook_Failure(t *testing.T) { setUpTestData(container) - uri := test.NewRequestBuilder().URL(APIBooks).PathParams("9999").Build().GetRequestURL() + uri := util.NewRequestBuilder().URL(APIBooks).PathParams("9999").Build().GetRequestURL() req := test.NewJSONRequest("DELETE", uri, nil) rec := httptest.NewRecorder() diff --git a/service/account_test.go b/service/account_test.go index 7ebbc1ce..febd2082 100644 --- a/service/account_test.go +++ b/service/account_test.go @@ -18,7 +18,7 @@ func TestAuthenticateByUsernameAndPassword_Success(t *testing.T) { data, _ := a.FindByName(container.GetRepository(), "test") assert.Equal(t, data, account) - assert.Equal(t, true, result) + assert.True(t, result) } func TestAuthenticateByUsernameAndPassword_EntityNotFound(t *testing.T) { @@ -28,7 +28,7 @@ func TestAuthenticateByUsernameAndPassword_EntityNotFound(t *testing.T) { result, account := service.AuthenticateByUsernameAndPassword("abcde", "abcde") assert.Equal(t, (*model.Account)(nil), account) - assert.Equal(t, false, result) + assert.False(t, result) } func TestAuthenticateByUsernameAndPassword_AuthenticationFailure(t *testing.T) { @@ -38,5 +38,5 @@ func TestAuthenticateByUsernameAndPassword_AuthenticationFailure(t *testing.T) { result, account := service.AuthenticateByUsernameAndPassword("test", "abcde") assert.Equal(t, (*model.Account)(nil), account) - assert.Equal(t, false, result) + assert.False(t, result) } diff --git a/service/book_test.go b/service/book_test.go index 3824088b..febf6830 100644 --- a/service/book_test.go +++ b/service/book_test.go @@ -20,7 +20,7 @@ func TestFindByID_Success(t *testing.T) { result, err := service.FindByID("1") assert.Equal(t, uint(1), result.ID) - assert.Equal(t, nil, err) + assert.NoError(t, err) assert.NotEmpty(t, result) } @@ -45,7 +45,7 @@ func TestFindByID_EntityNotFound(t *testing.T) { result, err := service.FindByID("9999") assert.Equal(t, (*model.Book)(nil), result) - assert.Equal(t, errors.New("failed to fetch data"), err) + assert.Error(t, err, "failed to fetch data") } func TestFindAllBooks_Success(t *testing.T) { @@ -56,8 +56,8 @@ func TestFindAllBooks_Success(t *testing.T) { service := NewBookService(container) result, err := service.FindAllBooks() - assert.Equal(t, 2, len(*result)) - assert.Equal(t, nil, err) + assert.Len(t, *result, 2) + assert.NoError(t, err) } func TestFindAllBooksByPage_Success(t *testing.T) { @@ -72,8 +72,8 @@ func TestFindAllBooksByPage_Success(t *testing.T) { assert.Equal(t, 1, result.TotalPages) assert.Equal(t, 0, result.Page) assert.Equal(t, 5, result.Size) - assert.Equal(t, 2, len(*result.Content)) - assert.Equal(t, nil, err) + assert.Len(t, *result.Content, 2) + assert.NoError(t, err) } func TestFindBooksByTitle_Success(t *testing.T) { @@ -88,8 +88,8 @@ func TestFindBooksByTitle_Success(t *testing.T) { assert.Equal(t, 1, result.TotalPages) assert.Equal(t, 0, result.Page) assert.Equal(t, 5, result.Size) - assert.Equal(t, 1, len(*result.Content)) - assert.Equal(t, nil, err) + assert.Len(t, *result.Content, 1) + assert.NoError(t, err) } func TestCreateBook_Success(t *testing.T) { diff --git a/service/category_test.go b/service/category_test.go index 588314b8..dbb66453 100644 --- a/service/category_test.go +++ b/service/category_test.go @@ -13,5 +13,5 @@ func TestFindAllCategories_Success(t *testing.T) { service := NewCategoryService(container) result := service.FindAllCategories() - assert.Equal(t, 3, len(*result)) + assert.Len(t, *result, 3) } diff --git a/service/format_test.go b/service/format_test.go index f4d4510f..37110d70 100644 --- a/service/format_test.go +++ b/service/format_test.go @@ -13,5 +13,5 @@ func TestFindAllFormats_Success(t *testing.T) { service := NewFormatService(container) result := service.FindAllFormats() - assert.Equal(t, 2, len(*result)) + assert.Len(t, *result, 2) } diff --git a/test/request_builder.go b/util/request_builder.go similarity index 99% rename from test/request_builder.go rename to util/request_builder.go index a59f7875..3e4a9618 100644 --- a/test/request_builder.go +++ b/util/request_builder.go @@ -1,4 +1,4 @@ -package test +package util import "strings" diff --git a/util/request_builder_test.go b/util/request_builder_test.go new file mode 100644 index 00000000..153112c7 --- /dev/null +++ b/util/request_builder_test.go @@ -0,0 +1,17 @@ +package util + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestGetRequestURL_PathParam(t *testing.T) { + result := NewRequestBuilder().URL("https://www.test/").PathParams("1").PathParams("test").Build().GetRequestURL() + assert.Equal(t, "https://www.test/1/test", result) +} + +func TestGetRequestURL_RequestParam(t *testing.T) { + result := NewRequestBuilder().URL("https://www.test/").RequestParams("hoge", "123").RequestParams("huga", "abcd").Build().GetRequestURL() + assert.Equal(t, "https://www.test/?hoge=123&huga=abcd", result) +} diff --git a/util/strings_test.go b/util/strings_test.go new file mode 100644 index 00000000..824092d0 --- /dev/null +++ b/util/strings_test.go @@ -0,0 +1,34 @@ +package util + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestIsNumeric_True(t *testing.T) { + result := IsNumeric("123") + assert.True(t, result) +} + +func TestIsNumeric_False(t *testing.T) { + result := IsNumeric("abcde") + assert.False(t, result) +} + +func TestConvertToInt_Number(t *testing.T) { + result := ConvertToInt("123") + assert.Equal(t, int(123), result) + assert.IsType(t, int(123), result) +} + +func TestConvertToInt_NotNumber(t *testing.T) { + result := ConvertToInt("abcde/:12@s#$%'()") + assert.Equal(t, 0, result) +} + +func TestConvertToUint_Number(t *testing.T) { + result := ConvertToUint("123") + assert.Equal(t, uint(123), result) + assert.IsType(t, uint(123), result) +}