mirror of
https://github.com/SamyRai/tercul-backend.git
synced 2025-12-27 05:11:34 +00:00
This commit significantly increases the test coverage across the application and fixes several underlying bugs that were discovered while writing the new tests. The key changes include: - **New Tests:** Added extensive integration and unit tests for GraphQL resolvers, application services, and data repositories, substantially increasing the test coverage for packages like `graphql`, `user`, `translation`, and `analytics`. - **Authorization Bug Fixes:** - Fixed a critical bug where a user creating a `Work` was not correctly associated as its author, causing subsequent permission failures. - Corrected the authorization logic in `authz.Service` to properly check for entity ownership by non-admin users. - **Test Refactoring:** - Refactored numerous test suites to use `testify/mock` instead of manual mocks, improving test clarity and maintainability. - Isolated integration tests by creating a fresh admin user and token for each test run, eliminating test pollution. - Centralized domain errors into `internal/domain/errors.go` and updated repositories to use them, making error handling more consistent. - **Code Quality Improvements:** - Replaced manual mock implementations with `testify/mock` for better consistency. - Cleaned up redundant and outdated test files. These changes stabilize the test suite, improve the overall quality of the codebase, and move the project closer to the goal of 80% test coverage. |
||
|---|---|---|
| .. | ||
| model | ||
| .keep | ||
| analytics_service_mock_test.go | ||
| auth_mutations_test.go | ||
| author_resolvers_test.go | ||
| binding.go | ||
| book_resolvers_test.go | ||
| errors.go | ||
| generated.go | ||
| graphql_test_utils_test.go | ||
| helpers.go | ||
| integration_test.go | ||
| like_repo_mock_test.go | ||
| like_resolvers_unit_test.go | ||
| resolver.go | ||
| schema.graphqls | ||
| schema.resolvers.go | ||
| translation_resolvers_test.go | ||
| user_mutations_test.go | ||
| user_resolvers_unit_test.go | ||
| validation.go | ||
| work_repo_mock_test.go | ||
| work_resolvers_test.go | ||
| work_resolvers_unit_test.go | ||