├── .gitignore ├── PhotoApp.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist ├── xcshareddata │ └── xcschemes │ │ └── PhotoApp.xcscheme └── xcuserdata │ └── sergeykargopolov.xcuserdatad │ └── xcschemes │ └── xcschememanagement.plist ├── PhotoApp ├── AppDelegate.swift ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── SceneDelegate.swift └── Signup │ ├── Controllers │ └── ViewController.swift │ ├── Models │ ├── SignupConstants.swift │ ├── SignupError.swift │ ├── SignupFormModel.swift │ ├── SignupFormModelValidator.swift │ ├── SignupFormRequestModel.swift │ └── SignupResponseModel.swift │ ├── Network │ └── SignupWebService.swift │ ├── Presenters │ └── SignupPresenter.swift │ └── Protocols │ ├── SignupModelValidatorProtocol.swift │ ├── SignupViewDelegateProtocol.swift │ └── SignupWebServiceProtocol.swift └── PhotoAppTests ├── Info.plist └── Signup ├── Mocks ├── MockSignupModelValidator.swift ├── MockSignupViewDelegate.swift ├── MockSignupWebService.swift └── MockURLProtocol.swift ├── Models └── SignupFormModelValidatorTests.swift ├── Network └── SignupWebServiceTests.swift └── Presenters └── SignupPresenterTests.swift /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/.gitignore -------------------------------------------------------------------------------- /PhotoApp.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoApp.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /PhotoApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /PhotoApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /PhotoApp.xcodeproj/xcshareddata/xcschemes/PhotoApp.xcscheme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoApp.xcodeproj/xcshareddata/xcschemes/PhotoApp.xcscheme -------------------------------------------------------------------------------- /PhotoApp.xcodeproj/xcuserdata/sergeykargopolov.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoApp.xcodeproj/xcuserdata/sergeykargopolov.xcuserdatad/xcschemes/xcschememanagement.plist -------------------------------------------------------------------------------- /PhotoApp/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoApp/AppDelegate.swift -------------------------------------------------------------------------------- /PhotoApp/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoApp/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /PhotoApp/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoApp/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /PhotoApp/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoApp/Base.lproj/LaunchScreen.storyboard -------------------------------------------------------------------------------- /PhotoApp/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoApp/Base.lproj/Main.storyboard -------------------------------------------------------------------------------- /PhotoApp/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoApp/Info.plist -------------------------------------------------------------------------------- /PhotoApp/SceneDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoApp/SceneDelegate.swift -------------------------------------------------------------------------------- /PhotoApp/Signup/Controllers/ViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoApp/Signup/Controllers/ViewController.swift -------------------------------------------------------------------------------- /PhotoApp/Signup/Models/SignupConstants.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoApp/Signup/Models/SignupConstants.swift -------------------------------------------------------------------------------- /PhotoApp/Signup/Models/SignupError.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoApp/Signup/Models/SignupError.swift -------------------------------------------------------------------------------- /PhotoApp/Signup/Models/SignupFormModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoApp/Signup/Models/SignupFormModel.swift -------------------------------------------------------------------------------- /PhotoApp/Signup/Models/SignupFormModelValidator.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoApp/Signup/Models/SignupFormModelValidator.swift -------------------------------------------------------------------------------- /PhotoApp/Signup/Models/SignupFormRequestModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoApp/Signup/Models/SignupFormRequestModel.swift -------------------------------------------------------------------------------- /PhotoApp/Signup/Models/SignupResponseModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoApp/Signup/Models/SignupResponseModel.swift -------------------------------------------------------------------------------- /PhotoApp/Signup/Network/SignupWebService.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoApp/Signup/Network/SignupWebService.swift -------------------------------------------------------------------------------- /PhotoApp/Signup/Presenters/SignupPresenter.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoApp/Signup/Presenters/SignupPresenter.swift -------------------------------------------------------------------------------- /PhotoApp/Signup/Protocols/SignupModelValidatorProtocol.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoApp/Signup/Protocols/SignupModelValidatorProtocol.swift -------------------------------------------------------------------------------- /PhotoApp/Signup/Protocols/SignupViewDelegateProtocol.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoApp/Signup/Protocols/SignupViewDelegateProtocol.swift -------------------------------------------------------------------------------- /PhotoApp/Signup/Protocols/SignupWebServiceProtocol.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoApp/Signup/Protocols/SignupWebServiceProtocol.swift -------------------------------------------------------------------------------- /PhotoAppTests/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoAppTests/Info.plist -------------------------------------------------------------------------------- /PhotoAppTests/Signup/Mocks/MockSignupModelValidator.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoAppTests/Signup/Mocks/MockSignupModelValidator.swift -------------------------------------------------------------------------------- /PhotoAppTests/Signup/Mocks/MockSignupViewDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoAppTests/Signup/Mocks/MockSignupViewDelegate.swift -------------------------------------------------------------------------------- /PhotoAppTests/Signup/Mocks/MockSignupWebService.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoAppTests/Signup/Mocks/MockSignupWebService.swift -------------------------------------------------------------------------------- /PhotoAppTests/Signup/Mocks/MockURLProtocol.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoAppTests/Signup/Mocks/MockURLProtocol.swift -------------------------------------------------------------------------------- /PhotoAppTests/Signup/Models/SignupFormModelValidatorTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoAppTests/Signup/Models/SignupFormModelValidatorTests.swift -------------------------------------------------------------------------------- /PhotoAppTests/Signup/Network/SignupWebServiceTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoAppTests/Signup/Network/SignupWebServiceTests.swift -------------------------------------------------------------------------------- /PhotoAppTests/Signup/Presenters/SignupPresenterTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplyi/PhotoAppUnitTesting/HEAD/PhotoAppTests/Signup/Presenters/SignupPresenterTests.swift --------------------------------------------------------------------------------