Skip to content

Instantly share code, notes, and snippets.

@onavas
onavas / test
Last active March 12, 2024 12:16
import XCTest
import CoreTestData
import CoreDomain
@testable import Loans
class GetAmortizationInstalmentsPDFUseCaseTests: XCTestCase {
private var sut: DefaultGetAmortizationInstalmentsPDFUseCase!
override func setUp() {
super.setUp()
1) En la dependencia externa del módulo, definir la función
func isLoanDetailPaymentAccountChangeEnabled() -> Bool
2) Implmentar en la misma dependencia externa el valor por defecto. IMPORTANTE poner PUBLIC
public func isLoanDetailPaymentAccountChangeEnabled() -> Bool {
return false
}
3) En el país que toque, poner el valor que se quiera
func isLoanDetailPaymentAccountChangeEnabled() -> Bool {
public protocol XXXXXDependenciesResolver: XXXXX1ExternalDependenciesResolver, XXXXX2ExternalDependenciesResolver {
}
donde XXXXX1ExternalDependenciesResolver y XXXXX2ExternalDependenciesResolver tienen un mismo resolve implementado en cada uno:
func resolve() -> XXXXXConfigRepresentable
public func resolve() -> XXXXXConfigRepresentable {
return XXXXXConfig()
}
2) PrivateMenuOptions (CORE):
añadir case: case investmentPosition
3) ESPrivateMenuOptionsUseCase (País):
_ = booleanFeatureFlag.fetch(CoreFeatureFlag.investmentPosition)
Si aparece un error diciendo que no está registrada una resolución:
CoreFoundationLib/DependenciesDefault.swift:61: Fatal error: DependenciesResolver.resolve: Nothing register for Optional<ContextualHelpCoordinatorDelegate>
extension PrivateHomeNavigatorImpl: PrivateHomeNavigator se define el registro de las dependencias
func registerContextualHelpDependencies() {
presenterProvider.dependenciesEngine.register(for: ContextualHelpCoordinatorDelegate.self) { _ in
return self.presenterProvider.navigatorProvider.getModuleCoordinator(type: ContextualHelpCoordinatorNavigator.self)
}
presenterProvider.dependenciesEngine.register(for: GlobalSearchMainModuleCoordinatorDelegate.self ) { _ in
1) Generar PRs
2) Generar versiones de países
a) ir al derived data (XCode - Settings - Locations - Derived Data)
b) Compilar la app y comprobar la carpeta más reciente
c) ir a Build - Products - Intern-iphonesimulator y localizar el fichero .app
3) crear carpeta en Escritorio con el código de la US y meter en ella los app que sean (si son varios países, varios)
4) comprimir carpeta
5) ir a Teams / Equipos / QA Testing / Archivos / Change 1 y subir el zip
6) copiar el enlace y pegarlo tanto en la US como comentarlo a QA
let labelsOverlap = LabelHelper.isLabelTooLong(label: descriptionTextPreviewLabel)
|| LabelHelper.isLabelTooLong(label: amountTextPreviewLabel)
stackView.axis = labelsOverlap ? .vertical : .horizontal
stackView.distribution = labelsOverlap ? .fill : .fillProportionally
amountTextPreviewLabel.textAlignment = labelsOverlap ? .left : .right
class LabelHelper{
static func isLabelTooLong(label: UILabel) -> Bool {
@onavas
onavas / voiceover
Last active February 28, 2024 09:58
Tips iOS para accesibilidad con VoiceOver:
Trabajo con UITableView:
Las celdas deben tener el atributo .isAccessibilityElement = false.
La accesibilidad de la vista Content View que se crea por defecto en la celda, no debe alterarse. En lugar de eso, crear una nueva vista con el mismo tamaño que la anterior y aplicar ahí los cambios de accesibilidad que sean necesarios.
UILabel:
No es necesario indicar que el atributo .accessibilityTraits es .staticText. Puede alterar la navegación.
Orden de navegación:
git gc --prune=now
otra opción:
[09:20] Marcin Pogorzelski
go into .git subfolder of my local repository;
open packed-refs file;
find the line with branch name from error message;
remove it from this file;
now you can do fetch or pull all you like.
1) Revisar que la VPN está conectada
2) Target INTERN
3) Entorno
4) Usuario/contraseña correctos