page.resolvers.ts 包含了很多接口定义,其中一个就是 PageDescriptionResolver:

而 BasePageMetaResolver,实现了这些接口:

我只关注 description 字段,维护在 Page 模型的 description 字段里:

BasePageMetaResolver 里注入了 CmsService,后者得到 page$ Observable 对象:

所有的 Resolver,都是从这些 Observable 对象里读取 Page 包裹对象的对应字段。

在该单元测试执行初始化操作时:

依次初始化 BasePageMetaResolver 的每个字段:

执行 resolveTitle 方法:

调用 CmsService 的 getCurrentPage 方法:

最后拿到 title 字段:

更多Jerry的原创文章,尽在:“汪子熙”:

SAP Spartacus PageMetaResolver 的单元测试相关推荐

  1. SAP Spartacus PageMetaService 的单元测试

    test.js: const FILE = ['./cms/facade/page-meta.service.spec.ts'];context.keys().filter( name => ! ...

  2. SAP Spartacus SeoMetaService 的单元测试代码

    是否在页面中生成 meta 标签,是通过 pageMetaService 读取 Metadata 成功与否决定的. 一旦成功,执行 this.meta = meta, 会触发 meta 的 set 函 ...

  3. SAP 电商云 Spartacus UI 的单元测试和端到端测试,以及 CI/CD 相关话题

    单元测试 在项目根目录的 package.json 下面,定义了测试相关的 script: 可以直接 npm run test:libs, 启动所有库的单元测试: 也可以手动执行单个库的单元测试,例如 ...

  4. SAP Spartacus popover Component 的单元测试

    我们在SAP Spartacus B2B Page 的 list和Card页面,点击(i) icon之后,会看到一个popover Component,可以通过下面的选择器访问: cx-popover ...

  5. SAP UI5 初学者教程之二十七 - SAP UI5 应用的单元测试工具 QUnit 介绍试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 初学者教程之一:Hello World SAP UI5 初学者教程之二:SAP UI5 ...

  6. SAP UI5 应用开发教程之二十七 - SAP UI5 应用的单元测试工具 QUnit 介绍

    Jerry 在之前做 SAP UI5 标准开发和现在使用 Angular 开发 SAP Spartacus 应用时,我们团队的开发规范就是,每增添一个新的前端 feature,必须要用一个新增的单元测 ...

  7. SAP Spartacus Definition of Done

    SAP Spartacus Definition of Done Coding guidelines Spartacus 团队采用了以下一组规则来保持 Spartacus 代码的可读性和可维护性. 作 ...

  8. 关于SAP Spartacus Routing 页面上下文切换机制的实现

    changeNextPageContext(pageContext: PageContext) {this.store.dispatch(new RoutingActions.ChangeNextPa ...

  9. SAP Spartacus central Travis build的lint环节

    起始命令: Running styleslint 260yarn run v1.22.5 261$ stylelint "{projects,feature-libs}/**/*.scss& ...

最新文章

  1. php http请求封装
  2. Swoole学习手记(一)初识Swoole
  3. 多线程:了解一下ForkJoin、FutureTask、BlockingQueue
  4. signature=16ceadeb007b12c6b3bcab834073ab21,Distributed Backscattering
  5. MySQL Event
  6. import _ssl # if we can‘t import it, let the error propagate
  7. Redis工作笔记-Set类型
  8. 帝国cms 留言板html,帝国CMS留言板加字段和验证码
  9. 装饰器Decorator(函数的装饰)
  10. html登陆滑动验证,js实现滑动滑块验证登录的方法
  11. 后台管理系统开发缺陷日志
  12. 拼多多破1000亿美金,黄峥自述:我的人生经历和创业理念
  13. php实现分时线图,分时图均价线公式?看懂了便可掌握股票的买卖点
  14. 大数据基础概念(一)
  15. C++实现二阶行列式的计算
  16. 微信怎样诞生:张小龙给马化腾的一封邮件
  17. 智能小车 - DRV8833电机驱动模块
  18. 项目中集成阿里巴巴分布式定时任务
  19. 学生计算机培训照片,四川新华电脑学校三维项目实训室参观照片
  20. 苹果软件更新在哪里_苹果iOS 14.1/iPadOS 14.1正式版发布:新增更新机型[多图]-软件资讯...

热门文章

  1. 网络分流器|运营商光纤延距解决方案
  2. 产品经理如何基于需求迭代产品(下篇3):产品的整体设计之逻辑层和交互层...
  3. 在Centos 7中开放80端口
  4. 赵雅智_Fragment生命周期
  5. 贴一个CMemDC 代码,这东西真不错噢,短小精悍,可谓极品
  6. [Android] Android4.0、4.1在手机上制作fastboot线刷包;
  7. 狗年过节不收礼,短信打劫才时尚[ZT]
  8. SPF难以解决邮件伪造的现状以及方案
  9. 硬件能力与智能AI-Zoomla!逐浪CMS2 x3.9.2正式发布
  10. Kafka Java consumer动态修改topic订阅