NodeKit icon indicating copy to clipboard operation
NodeKit copied to clipboard

SPT-1998 Мелкий рефакторинг + моки на билдер

Open mrandrewsmith opened this issue 1 year ago • 2 comments

Что сделано

  • Добавлены структуры-обертки AnyAsyncNode и AnyAsyncStreamNode в связи с тем, что компилятор не может правильно зарезолвить типы при использование any AsyncNode в билдере. При этом использовать some AsyncNode мы не можем, так как some не поддерживается в протоколах и нельзя наследовать методы класса, которые возвращают some.
  • Добавлены методы eraseToAnyNode, которые оборачивают ноду в AnyAsyncNode или AnyAsyncStreamNode.
  • Не много изменен билдер.
  • Написаны моки на билдеры. Теперь можно передавать в сервис протокол ChainBuilder, а в тестах менять на мок и стаббать ноды.
  • Переименованы классы, методы и переменные с Url на URL.
  • Удалена нода LoadIndicatableNode (по моему бесползеная).
  • Удалены лишние параметры из моделей (serializationTimeout и metrics)

mrandrewsmith avatar May 02 '24 16:05 mrandrewsmith

Codecov Report

Attention: Patch coverage is 65.88785% with 73 lines in your changes are missing coverage. Please review.

Project coverage is 91.50%. Comparing base (da998b5) to head (a9b9219). Report is 1 commits behind head on 5.0.0.

Files Patch % Lines
NodeKit/NodeKit/Chains/ChainBuilder.swift 70.70% 29 Missing :warning:
NodeKit/NodeKit/Chains/ServiceChainProvider.swift 30.76% 27 Missing :warning:
...odeKit/Core/Node/Async/MergedAsyncStreamNode.swift 0.00% 11 Missing :warning:
NodeKit/NodeKit/Core/Node/Async/AsyncNode.swift 50.00% 2 Missing :warning:
NodeKit/NodeKit/Encodings/ParameterEncoding.swift 75.00% 2 Missing :warning:
...rs/RequestBuildingLayer/URLQueryInjectorNode.swift 50.00% 2 Missing :warning:
Additional details and impacted files
@@            Coverage Diff             @@
##            5.0.0     #133      +/-   ##
==========================================
+ Coverage   91.39%   91.50%   +0.11%     
==========================================
  Files          83       85       +2     
  Lines        1267     1260       -7     
==========================================
- Hits         1158     1153       -5     
+ Misses        109      107       -2     
Flag Coverage Δ
tests 91.50% <65.88%> (+0.11%) :arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov-commenter avatar May 02 '24 16:05 codecov-commenter

Добавлен метод merge, для двух AsyncNode. Позволяет смержить две AsyncNode с одинаковыми Input и Output в AsyncStreamNode.

mrandrewsmith avatar May 07 '24 05:05 mrandrewsmith