-
Notifications
You must be signed in to change notification settings - Fork 136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[iOSTest][Kaspper] Matheus Fusco #114
Open
matheusfusco
wants to merge
28
commits into
InterviewTests:master
Choose a base branch
from
matheusfusco:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…ior. Criando classe base de Network, e já deixando pronto Login e Home com seus respectivos ResponseModels.
…ests. Atualizando URL dos testes. Atualizando AppDelegate e SceneDelegate.
…ty of function types in instance method 'dataTask(with:completionHandler:)' does not match requirement in protocol 'URLSessionProtocol'
…avegação para a próxima tela e o dado a ser passado para a HomeViewController. Proximos passos: Criar os testes da LoginViewController.
…dataStore. Conformando o LoginInteractor ao LoginDataStore. Ajustando protocolos e funções para se adequar ao CleanSwift.
…NavigationController. Adicionando imagem do botão de sair. Adicionando Extension de Double para formatar o valor da célula. Adicionando Extension de String para formatar a data. Adicionando Extension de UIColor para utilizar hex color. Adicionando Extension de UIFont para facilitar o reuso das fontes do projeto. Adicionando StatementTableViewCell. Criando tela da Home e ajustando a navegação da tela de Login para a Home.
…e statements, e do modelo de resposta da LoginService. protocol DispatchQueueProtocol e respectivo spy criado para auxiliar no futuro teste da HomeViewController. Init da HomeViewController ajustado para poder ficar testável.
NavigationSpy adicionada. Pequenas alterações necessárias para os testes.
…riando testes para NetworkServiceImpl.
Validando campos de texto na LoginViewController, criando extensions e validações. TODO: melhorar lógica para exibir erro específico no alerta.
…, para rodar corretamente em outros macs.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Matheus Fusco - Desafio Banco Safra - Kaspper
Repositório com o código referente ao desafio proposto para a vaga de iOS no Banco Safra - Kaspper.
Setup
Solução adotada para gerenciador de dependência:
Cocoapods
pod install
open MyBankApp.xcworkspace
Como rodar
MyBankApp.xcworkspace
, rodar o app com o comandoCommand + R
LoginInteractor
é necessário descomentar a linha 19, e comentar as linhas 21 até 32. Motivo: Não consegui fazer a API de Login funcionar, então deixei a linha 19 pra fins de navegação do aplicativoTestes
Solução adotada para os testes unitários:
XCTests
Solução adotada para testes de UI:
SnapshotTesting
Command + U
Observações
Home
ainda não foram finalizados, constando somente o teste daHomeService
Login
foram todos finalizados, incluindo todas camadas da arquiteturaNetwork
foram todos finalizadosLoginInteractor
é necessário comentar a linha 19, e descomentar as linhas 21 até 32. Motivo: Não consegui fazer a API de Login funcionar, então deixei a linha 19 pra fins de navegação do aplicativoObservações Gerais
LoginResponse
e seus respectivos campos e utilizei um mock para apresentar a telaHome
/statements
não funcionava com o/{id}
no final, então modifiquei a URL para igual a collection enviada para que funcionasse o retorno (sem o/{id}
no final)Próximos passos
Home
, incluindo testes unitáriosLoading
tanto na tela deLogin
quanto naHome
e tratar possíveis cenários de erro na tela