Skip to content

Increase core framework coverage via targeted service provider and builder-path tests#1391

Merged
hwbrzzl merged 8 commits intomasterfrom
copilot/increase-test-coverage-modules
Mar 7, 2026
Merged

Increase core framework coverage via targeted service provider and builder-path tests#1391
hwbrzzl merged 8 commits intomasterfrom
copilot/increase-test-coverage-modules

Conversation

Copy link
Contributor

Copilot AI commented Mar 5, 2026

  • Review new PR comments and determine actionable items
  • Check recent CI workflow runs and failure logs context
  • Replace broad mock matchers with mock.AnythingOfType(...) in flagged provider tests
  • Remove/adjust ineffective test setup called out in HTTP provider test
  • Run targeted tests for auth/config/http/session/foundation packages
  • Reply to actionable review comments with commit hash
  • Run final code review and security scan
Original prompt

This section details on the original issue you should resolve

<issue_title>Coverage: Core Framework (Http, Session, Foundation, Config, Auth)</issue_title>
<issue_description>## Goal
Reach 80-85% coverage across the primary application lifecycle modules.

Module Details

[Http Module] goravel/goravel#898

  • Status: 73.26% (915/1249 lines covered, 299 missed)
  • Target: 85%
  • Priority: 3
  • Focus: Edge cases and error paths
  • Repo: goravel/framework - http module

[Session Module] goravel/goravel#897

  • Status: 69.59% (286/411 lines covered, 110 missed)
  • Target: 80%
  • Priority: 2
  • Focus: Session drivers, lifecycle, and flash data handling
  • Repo: goravel/framework - session module

[Foundation Module] goravel/goravel#896

  • Status: 68.91% (1474/2139 lines covered, 601 missed)
  • Target: 80%
  • Priority: 2
  • Focus: Application bootstrapping, service provider registration, and container bindings
  • Repo: goravel/framework - foundation module

[Config Module] goravel/goravel#895

  • Status: 68.00% (51/75 lines covered, 21 missed)
  • Target: 85%
  • Priority: 2
  • Focus: Configuration loading, environment-specific configs, and caching mechanisms
  • Repo: goravel/framework - config module

[Auth Module] goravel/goravel#894

  • Status: 67.06% (338/504 lines covered, 149 missed)
  • Target: 80%
  • Priority: 2
  • Focus: Authentication guards, user providers, and token management
  • Repo: goravel/framework - auth module</issue_description>

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 3 commits March 5, 2026 13:23
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>
Copilot AI changed the title [WIP] Improve test coverage for core framework modules Increase core framework coverage via targeted service provider and builder-path tests Mar 5, 2026
@hwbrzzl hwbrzzl marked this pull request as ready for review March 5, 2026 13:28
@hwbrzzl hwbrzzl requested a review from a team as a code owner March 5, 2026 13:28
@codecov
Copy link

codecov bot commented Mar 5, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 71.85%. Comparing base (fea156a) to head (08c34d8).
⚠️ Report is 3 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1391      +/-   ##
==========================================
+ Coverage   71.29%   71.85%   +0.55%     
==========================================
  Files         292      292              
  Lines       19564    19564              
==========================================
+ Hits        13948    14057     +109     
+ Misses       5034     4923     -111     
- Partials      582      584       +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Contributor

@hwbrzzl hwbrzzl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

APPROVE WITH MINOR SUGGESTIONS

Excellent test additions! This PR adds comprehensive test coverage for service providers and application builder methods across five core modules. The changes are test-only with no production code modifications.

Strengths:

  • Non-invasive testing approach with effective use of mocks
  • Comprehensive error path coverage (nil facades, error propagation)
  • Clear test structure with proper cleanup using t.Cleanup()
  • Precise mock expectations

Suggestions for improvement:

  • Add test function documentation
  • Replace hard-coded magic numbers with constants
  • Test context parameters in BindWith callbacks
  • Add more edge case coverage
  • Consider parallel test safety

See inline comments for specific recommendations. Safe to merge as-is; suggestions can be addressed in follow-up PRs.


app.EXPECT().MakeCache().Return(cache).Once()
app.EXPECT().MakeOrm().Return(orm).Once()
app.EXPECT().MakeConfig().Return(config).Once()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hard-coded magic number: The number 2 is hard-coded. If commands change, this test breaks silently.

Suggested improvement:

const expectedAuthCommandCount = 2

app.EXPECT().Commands(mock.MatchedBy(func(commands []contractsconsole.Command) bool {
    if len(commands) != expectedAuthCommandCount {
        t.Logf("Expected %d auth commands, got %d", expectedAuthCommandCount, len(commands))
        return false
    }
    for i, cmd := range commands {
        if cmd == nil {
            t.Logf("Command %d is nil", i)
            return false
        }
    }
    return true
})).Once()

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated in 51459db: replaced the hard-coded command count with expectedAuthCommandCount and strengthened the matcher with explicit diagnostic logs for count and nil commands.

assert.Error(t, err)
assert.True(t, frameworkerrors.Is(err, frameworkerrors.LogFacadeNotSet))
})

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing test coverage: The BindWith accepts map[string]any context parameter but only tests with empty map.

Consider adding:

t.Run("creates auth instance with context", func(t *testing.T) {
    callbackApp := mocksfoundation.NewApplication(t)
    config := mocksconfig.NewConfig(t)
    log := mockslog.NewLog(t)
    callbackApp.EXPECT().MakeConfig().Return(config).Once()
    callbackApp.EXPECT().MakeLog().Return(log).Once()
    config.EXPECT().GetString("auth.defaults.guard").Return("web").Once()
    
    ctx := map[string]any{"guard": "api"}
    instance, err := authCallback(callbackApp, ctx)
    
    assert.NoError(t, err)
    assert.NotNil(t, instance)
})

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed in 51459db: added a BindWith context-parameter test that passes a mocked HTTP context/request/session and verifies auth is created with a non-nil guard driver.

assert.Implements(t, (*contractsauthaccess.Gate)(nil), instance)
})
}

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Potential race condition: Global facade assignments could race if tests run in parallel.

Recommendation: Document that these tests should NOT run in parallel, or add a comment:

// Note: This test modifies global facades and should not run in parallel
t.Run("assigns auth and gate facades", func(t *testing.T) {
    // ...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Handled in 51459db: added a note that the boot test mutates package-level facades and should not run in parallel.

config := mocksconfig.NewConfig(t)
j := foundationjson.New()
callbackApp.EXPECT().MakeConfig().Return(config).Once()
callbackApp.EXPECT().Json().Return(j).Once()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing edge cases: The test validates unmarshaling to client.FactoryConfig but doesn't test invalid/malformed configs or missing default client.

Consider adding:

t.Run("handles missing default client gracefully", func(t *testing.T) {
    callbackApp := mocksfoundation.NewApplication(t)
    config := mocksconfig.NewConfig(t)
    j := foundationjson.New()
    callbackApp.EXPECT().MakeConfig().Return(config).Once()
    callbackApp.EXPECT().Json().Return(j).Once()
    config.EXPECT().UnmarshalKey("http", mock.Anything).RunAndReturn(func(_ string, target any) error {
        factoryConfig := target.(*client.FactoryConfig)
        factoryConfig.Default = "missing_client"
        factoryConfig.Clients = map[string]client.Config{"other": {}}
        return nil
    }).Once()
    
    _, err := httpCallback(callbackApp)
    // Verify error handling or graceful fallback
})

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Implemented in 51459db: added an edge-case test for a missing default client mapping and verified the expected connection-not-found error path.


s.Equal(app, created)
}

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Weak assertion: Only checks that fields are set, doesn't verify callback behavior.

Suggested enhancement:

func (s *ApplicationBuilderTestSuite) TestWithCommands() {
    mockCommand := mocksconsole.NewCommand(s.T())
    builder := s.builder.WithCommands(func() []contractsconsole.Command {
        return []contractsconsole.Command{mockCommand}
    })
    
    s.NotNil(builder)
    s.NotNil(s.builder.commands)
    
    // Verify the callback returns expected commands
    commands := s.builder.commands()
    s.Len(commands, 1)
    s.Equal(mockCommand, commands[0])
}

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated in 51459db: strengthened TestWithCommands to execute the stored callback and assert the returned command slice content, not just field assignment.

callbackApp.EXPECT().MakeConfig().Return(config).Once()
callbackApp.EXPECT().GetJson().Return(j).Once()
config.EXPECT().GetString("session.cookie").Return("goravel_session").Once()
config.EXPECT().GetString("session.default", "file").Return("file").Once()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hardcoded path logic: Consider using a simpler test path instead of path.Storage("framework/sessions").

Suggested:

config.EXPECT().GetString("session.files").Return("/tmp/test-sessions").Once()

This makes the test less coupled to specific path helper logic.

@hwbrzzl
Copy link
Contributor

hwbrzzl commented Mar 5, 2026

@copilot There are some comments, but they may not all be correct. Check and fix them if needed.

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Mar 5, 2026

@copilot There are some comments, but they may not all be correct. Check and fix them if needed.

I reviewed the feedback and applied the actionable items in 51459db (auth context callback coverage, magic-number cleanup, global-state note, missing default-client edge case, and stronger builder callback assertions).

Copilot AI and others added 2 commits March 5, 2026 13:59
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>
Copy link
Contributor

@hwbrzzl hwbrzzl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


var authCallback func(contractsfoundation.Application, map[string]any) (any, error)
var gateCallback func(contractsfoundation.Application) (any, error)
app.EXPECT().BindWith(contractsbinding.Auth, mock.Anything).Run(func(_ any, callback func(contractsfoundation.Application, map[string]any) (any, error)) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use MatchAnyType here

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated in 08c34d8: switched this matcher to mock.AnythingOfType("func(foundation.Application, map[string]interface {}) (interface {}, error)"). No UI changes (test-only), so no screenshot applies.

app.EXPECT().BindWith(contractsbinding.Auth, mock.Anything).Run(func(_ any, callback func(contractsfoundation.Application, map[string]any) (any, error)) {
authCallback = callback
}).Once()
app.EXPECT().Singleton(contractsbinding.Gate, mock.Anything).Run(func(_ any, callback func(contractsfoundation.Application) (any, error)) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ditto

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated in 08c34d8: switched this matcher to mock.AnythingOfType("func(foundation.Application) (interface {}, error)"). No UI changes (test-only), so no screenshot applies.

t.Setenv("APP_KEY", "12345678901234567890123456789012")

var callback func(foundation.Application) (any, error)
app.EXPECT().Singleton(binding.Config, mock.Anything).Run(func(_ any, cb func(foundation.Application) (any, error)) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use MatchAnyType here

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated in 08c34d8: changed to mock.AnythingOfType("func(foundation.Application) (interface {}, error)"). No UI changes (test-only), so no screenshot applies.


var rateLimiterCallback func(contractsfoundation.Application) (any, error)
var httpCallback func(contractsfoundation.Application) (any, error)
app.EXPECT().Singleton(contractsbinding.RateLimiter, mock.Anything).Run(func(_ any, callback func(contractsfoundation.Application) (any, error)) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated in 08c34d8: changed to mock.AnythingOfType("func(foundation.Application) (interface {}, error)"). No UI changes (test-only), so no screenshot applies.

app.EXPECT().Singleton(contractsbinding.RateLimiter, mock.Anything).Run(func(_ any, callback func(contractsfoundation.Application) (any, error)) {
rateLimiterCallback = callback
}).Once()
app.EXPECT().Singleton(contractsbinding.Http, mock.Anything).Run(func(_ any, callback func(contractsfoundation.Application) (any, error)) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated in 08c34d8: changed to mock.AnythingOfType("func(foundation.Application) (interface {}, error)"). No UI changes (test-only), so no screenshot applies.

j := foundationjson.New()
callbackApp.EXPECT().MakeConfig().Return(config).Once()
callbackApp.EXPECT().Json().Return(j).Once()
config.EXPECT().UnmarshalKey("http", mock.Anything).Return(assert.AnError).Once()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated in 08c34d8: narrowed this argument matcher to mock.AnythingOfType("*client.FactoryConfig"). No UI changes (test-only), so no screenshot applies.

j := foundationjson.New()
callbackApp.EXPECT().MakeConfig().Return(config).Once()
callbackApp.EXPECT().Json().Return(j).Once()
config.EXPECT().UnmarshalKey("http", mock.Anything).RunAndReturn(func(_ string, target any) error {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated in 08c34d8: narrowed this argument matcher to mock.AnythingOfType("*client.FactoryConfig"). No UI changes (test-only), so no screenshot applies.

Comment on lines +129 to +132
factoryConfig.Default = "missing_client"
factoryConfig.Clients = map[string]client.Config{
"other": {},
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why set this? No effect

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed in 08c34d8: removed the redundant Clients assignment in that edge-case setup to keep only the effective input for this assertion path. No UI changes (test-only), so no screenshot applies.

app := mocksfoundation.NewApplication(t)

var callback func(contractsfoundation.Application) (any, error)
app.EXPECT().Singleton(binding.Session, mock.Anything).Run(func(_ any, cb func(contractsfoundation.Application) (any, error)) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated in 08c34d8: changed to mock.AnythingOfType("func(foundation.Application) (interface {}, error)"). No UI changes (test-only), so no screenshot applies.

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>
@hwbrzzl hwbrzzl merged commit 81b2c5d into master Mar 7, 2026
16 of 17 checks passed
@hwbrzzl hwbrzzl deleted the copilot/increase-test-coverage-modules branch March 7, 2026 04:51
hwbrzzl added a commit that referenced this pull request Mar 11, 2026
* chore: Update upgrade DB packages (#1374)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Internalize file rotation logic from goravel/file-rotatelogs (#1375)

* Initial plan

* Implement internal file rotation to replace goravel/file-rotatelogs

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* Improve cleanup logic with glob pattern matching and add comprehensive tests

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* Address code review feedback: fix trailing whitespace, add cleanup wait, and make tests deterministic

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* optimize

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>
Co-authored-by: Bowen <hwbrzzl@gmail.com>

* chore: Update non-major dependencies (#1373)

* chore: Update non-major dependencies

* optimize

* optimize

* renovate/non-major-dependencies

* optimize

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Bowen <hwbrzzl@gmail.com>

* feat: [#726] Add HTTP server and client telemetry instrumentation [5] (#1326)

* add http middleware

* add http transport

* optimise http telemetry package

* add test cases for Telemetry middleware

* add auto instrumentation configs

* add config to enable Telemetry for http clients

* add docs for config facade

* add ConfigFacade nil warning

* disable default telemetry

* optimise transport

* add kill switch for instrumentation

* update the stubs

* remove unnecessary handler

* optimise log instrumentation

* move route registration in the end

* lazily initialize middleware and transport to work with new application_builder

* optimise channel test

* optimise channel test

* accept telemetry facade as an input instead of using global instance

* use a callback to resolve the telemetry facade instance

* optimise grpc handler to remove usage of telemetry and config facade

* optimise the grpc handler

* use telemetry transport if enabled

* optimise http auto instrumentation

* optimize log test cases

* optimise

* optimise

* optimise

* optimise

* revert PR#1357

* fix log test cases

* revert GRPC changes

* optimise middleware

* remove zipkin trace driver

* correct GRPC enable condition

* correct http transport enable condition

* correct log channel enable condition

* update go mod

* fix test cases

* fix test cases

* fix test cases

* fix tests

---------

Co-authored-by: Bowen <hwbrzzl@gmail.com>

* chore: optimize runner tests for Windows (#1377)

Co-authored-by: Bowen <hwbrzzl@github.com>

* chore: Update non-major dependencies (#1378)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: runner stuck (#1381)

* fix: runner stuck

* optimize

* optimize

* optimize

* optimize

* optimize

* chore: Update non-major dependencies (#1382)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: [#849] Add table support to the console context (#1380)

* add table function in cli

* add test cases for new method Table

* update mocks

* add column level styles

* fix lint error

* move style vars to new file

* add GlobalHuhTheme

* update go mod tidy

* feat: [#546] artisan command up and down to set website Maintenance mode (#1198)

* Add up and down command

* Use file helper to create files and add unit tests

* Fix the foundation.App dependency

* Use support/path instead of foundation.App

* Add unit test case

* Add some missing checks

* Add more missing checks

* One more

* Fix tmpfile path

* Use T.TempDir instead of os.TempDir in tests

* Add reason to the down command

* Add option to the tests

* Change the maintenance file name

* close created file handles

* Defer abort

* Fix the linter issue

* Add more options to the down command

* Use options

* Check for maintenance mode respond

* Fix down_command_test

* Add more unit test cases

* Fix more lint issues

* Fix lint issue

* fix tests

* fix tests

* fix tests

* fix tests

* Address PR comments

* Fix check_for_maintenance_test

* Check Aborts in check_for_maintenance

* Rename check_for_maintenance_mode

* Fix and Write more unit tests for check_for_maintenance_mode middleware

* fix down command

* Fix down_command_test

* Fix up_command

---------

Co-authored-by: Bowen <hwbrzzl@gmail.com>

* feat: Laravel-style Collection library (#1134)

Merges comprehensive Collection library with 100+ methods for data manipulation.

Implements both eager (Collection) and lazy (LazyCollection) evaluation strategies.
Closes goravel/goravel#566

Follow-up improvements tracked in: goravel/goravel#883

* Increase route module coverage for factory, provider, and runner wiring paths (#1384)

* Initial plan

* test(route): cover route factory and service provider paths

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* optimize

* optimize

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>
Co-authored-by: Bowen <hwbrzzl@gmail.com>

* chore: optimize interface (#1389)

* Increase crypt module coverage by exercising AES key validation and failure paths (#1385)

* Initial plan

* test: add crypt AES edge-case coverage

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: improve readability of crypt key-length cases

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: address crypt PR feedback and simplify test structure

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: use configmock EXPECT style in TestNewAES

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: standardize config mock setup across aes tests

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* Increase filesystem module test coverage for storage, service provider, and file facade paths (#1387)

* Initial plan

* Add filesystem application and provider coverage tests

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* Polish filesystem coverage tests after review feedback

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* Refine filesystem tests based on review feedback

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* Apply review style suggestions in filesystem tests

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* Increase mail module test coverage to 70%+ with focused unit tests (#1386)

* Initial plan

* test(mail): add focused unit coverage for application, options, and service provider

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test(mail): address review feedback on test specificity and readability

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test(mail): merge application unit tests and remove untyped mock matchers

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test(mail): deduplicate matchers and tighten queue job assertion

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test(mail): use AnythingOfType and any in application tests

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test(mail): derive bind callback type string from any signature

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test(mail): simplify bind callback type matcher

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test(mail): use AnythingOfType for template render expectations

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test(mail): restore specific MatchedBy assertions per review clarification

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* Increase hash module coverage with targeted tests for driver selection and service provider paths (#1388)

* Initial plan

* test: increase hash module coverage for driver and provider paths

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: cover hash provider and driver selection paths

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: address hash module review feedback

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: merge hash module tests into application_test

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: use EXPECT API in hash service provider test

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: use any alias in hash singleton callback test

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* chore: add AI instructions file (#1393)

* Increase core framework coverage via targeted service provider and builder-path tests (#1391)

* Initial plan

* Add service provider coverage tests for core modules

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* Expand core module coverage tests and validate suite

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* Revert unintended test module dependency drift

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* Address actionable PR review suggestions in coverage tests

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* Finalize review feedback handling

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* Revert unintended tests module dependency updates

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* Tighten provider test matchers per review feedback

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* Increase infrastructure module coverage by adding Process/Packages/Log/Schedule tests and fixing errors.As target forwarding (#1392)

* Initial plan

* test(errors): cover As/Unwrap/Ignore/Join edge cases

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test(errors): use wrapped error in As coverage test

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* chore: revert unintended tests module file changes

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: add coverage for process packages log schedule modules

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: refine schedule coverage tests per review

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* chore: revert unintended tests module dependency updates

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: assert boot no-panic in log and process providers

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* chore: finalize review feedback responses for boot test assertions

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* chore: revert unintended tests module file changes

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: expand service-layer coverage across Event, Queue, gRPC, Cache, and Console (#1390)

* Initial plan

* test(event): cover service provider and queued listener dispatch paths

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* chore: finalize event coverage validation

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* chore: revert unintended tests module dependency updates

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test(event): address review suggestions for robust command matching and queue error path

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* chore: finalize PR feedback follow-up

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* chore: revert unintended tests module file updates

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: add focused coverage cases for queue grpc cache console

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: clarify queue nil args in empty chain test

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* chore: revert unintended tests module dependency updates

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* test: avoid nil context in console usage-error test

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* chore: finalize lint ci fix validation

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* chore: revert unintended tests module dependency drift

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* chore: Update non-major dependencies (#1399)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore: add generate flag to artisan build command (#1402)

* feat: [#911] add query context accessor (#1401)

* chore: optimize agents (#1396)

* chore: optimize agents

* optimize

* address comments

* Initial plan

* fix: backport migrate rollback default handling to v1.17.x

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* chore: align branch tree with v1.17.x before backporting rollback fix

Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>

* optimize

* optimize

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Bowen <hwbrzzl@gmail.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>
Co-authored-by: krishan kumar <84431594+krishankumar01@users.noreply.github.com>
Co-authored-by: Bowen <hwbrzzl@github.com>
Co-authored-by: Mohan Raj <praem1990@gmail.com>
Co-authored-by: Ahmed M. Ammar <ahmed3mar@outlook.com>
Co-authored-by: 耗子 <haozi@loli.email>
Co-authored-by: ALMAS <almas.cc@icloud.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Coverage: Core Framework (Http, Session, Foundation, Config, Auth)

2 participants