[ ] Anonymous types do not have friendly type name and deep equal now working properly
[ ] TryReplace services should check whether it is replacing any service
[ ] Values can be shown friendlier in error messages (example: int arrays - 1, 2, 3)
[ ] Where object to dictionary is used - every method can be enhanced to allow different types depending on the context (headers can allow Header object, cookies - Cookie object)
[ ] Route values - add of type testing for routes
[ ] Route value dictionary is ordinal ignore case
[ ] AndContinueWith - integrate more than one controller
[ ] Performance test with plugable diagnostics
[X] Use request services for mocks and where possible
[ ] Mocked telemetry
[ ] Optimize service collection extension methods (PrepareForTesting)
[ ] ToStringValueDictionary may return StringValues
[ ] Add all ICacheEntry options
[ ] ShouldHaveLogged testing
[ ] Ready to use mocks for various services like SignInManager, Files, etc.
[ ] LocalRedirect may need to be Redirect().ToLocal()
[ ] Add more defensive programming to the methods
[ ] MemoryCache and TempData may be scoped service
[ ] Consider advances expression visitor for the models
[ ] Optimize service replacement
[ ] Improve extensibility with public methods of the classes
[ ] Refactor TestApplication into separate smaller classes
[ ] Extract Throwers
[ ] Add OfType to ViewComponentResult
[ ] ModelState testing should be able to work without model
[ ] EntityFramework services should consider non DbOptions replacement
[ ] Unit tests should use TestStartup
[ ] UriTestBuilder - Passing is not accessible from interfaces
[ ] Add null checks everywhere possible
[ ] ShouldHave options
[ ] ShouldHave service
[ ] Redirect and Created To method should validate the passed controller
[ ] Add data providers Passing option for value
[ ] Request cookies should have easier way of setting
[ ] Add WithModelState to controller builder
[ ] Application should be able to be configured manually - plugins for example
[ ] Add Manual Test sample
[ ] Add Readme to all separate projects
[ ] Sorting formatters does not show correct error message (other sortings may have the same issue)
[ ] Action argument testing
[ ] ToRouteValue throws null exception when action is not resolved
[ ] Add unit test with the problematic RouteValueAttribute (uncomment the one which worked)
[ ] Add IRouter extensibility point in route testing (ITestRouter)
[ ] Consider running action filters on route test (should be an option) (for controller too)
[ ] Add EF test for scoped services by using the internal provider option
[ ] Plugins should be part of the test configuration - should be allowed as strings (consider application parts too)
[x] Replace Routes to Routing namespace
[ ] Add Should have service testing
[ ] Remove TestHelper
[ ] Refactor Base and And test builders
[ ] NewAndTestBuilderWithActionResult may not be needed - IAndTestBuilder should be enough
[ ] Default HTML options in ViewContext - decide what to do with struct values
[ ] Add IView mock for ViewComponent testing
[ ] Descriptor caches can use the application model conventions to fill the descriptors faster
[ ] Separate huge interfaces into partials
[ ] Clear inner test builders - they should not have ShouldPassFor options
[ ] Add ITestStartup - allows you to add easily the methods
[ ] Common exception messages may be from static methods in the exception class itself
[ ] ActionResults with generics can be optimized by not checking the return type
[ ] WithNoModel wherever applicable
[ ] DefaultValue, Null, NotNull do not provide AndAlso - use interface in the AndWith test builder
[ ] Exception ShouldPassFor should not be in the Abstractions package
[ ] Add CRUD to the IDbContextBuilder for easier adding of entities
[ ] ViewBag testing without strings but with dynamic predicate
[ ] View names may need specific testing - .View() does not check for non null values
[ ] AndAlso after some of the test builder - ShouldReturn().View().AndAlso().ShouldPassFor()
[ ] Remove the cast to ActionTestContext in ComponentShouldHaveTestBuilderModelStateExtensions
[ ] ViewContextMock creates two ModelState dictionaries because the second one cannot be set (maybe setter should apply values like in RouteData)
[ ] ControllerPropertyHelper may not be needed
[ ] Think of a way to get TempData and ViewData without type checking (features in the test context for example)
[ ] Test setups can be separated into different packages
[ ] GetTempData and GetViewData can look into the component contexts too
[ ] DataProviders can come from manual method call -> .From(c => c)
[ ] Remove default configuration and make Startup required
[ ] Extract test plugin loader
[ ] Extract Resources files
[ ] Remove the ApplicationParts workaround for .NET 4.5.1
[ ] Depend only on strict versions
[ ] Make every project.json consistent with the others
[ ] Add copyright to project.json files
[ ] Fix the version is not valid problem - 1.0.0-*
[ ] Add JSON schema for the testconfig.json file
[ ] Add base Startup types and interfaces the developer can use for easier registration of test services
[ ] Add loading of dependency context from the Startup type when there is base Startup type and interface the developer can use
[ ] Add sample with Moq (replace MusicStore custom mock)
[ ] Remove default registered routes and do not allow route testing without Startup file or route builder (should change the usage of IControllerFactory in the ModelBinderActionInvoker)
[ ] Add Sample with StartsFrom<CustomTestStartup>() which is not from the web assembly itself
[ ] Add version and branches to the README.md
[ ] Consider allowing configuring the application without Startup class - MyApplication.Running() (add these to every other static starting point)
[ ] Multiple ModelState errors for a single key testing
[ ] WithRouteData action
[ ] Action results do not have AndAlso for ShouldPassFor
[ ] NonAnd interfaces may not be needed IAndContentTestBuilder is used everywhere for example
[ ] Attribute test builder calls twice the search for attributes almost everywhere
[ ] That equals error message can be from a default value from a validation attribute without providing a magic string
[ ] Add support for Cookie-based Temp Data
[ ] Fix unit test names
[ ] Use collections and fixtures in the unit tests - current implementation is not good because of mmultiple startups in project
[ ] Move common validators in the services and use them from there (registered through the plugins)
[ ] Authorize Attribute - Policy and other properties
[ ] Consider the SkipValidation in TestCounter with something a bit more secure
[ ] Casts and dynamics can be removed with interfaces not returned by the API
[ ] Add symbols to Symbols Source and JSON schema for the test config
[ ] Add http://dotnetapis.com/ to documentation
[ ] If no base Startup is used, IServiceCollection cannot be resolved
[ ] Containing error allows should pass for in model state builder (it should be removed)
[ ] Validation Summary model state test should be able to test only the message without the empty key (use etension method with specified generic parameter)
[ ] Optimize attribute testing to not instantiate components/call methods