• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

RoundingWell / care-ops-frontend / 16c2126e-1505-4691-b685-13af16f3ba05

21 May 2026 03:05PM UTC coverage: 84.983% (-15.0%) from 99.95%
16c2126e-1505-4691-b685-13af16f3ba05

Pull #1697

circleci

paulfalgout
fix(flows): surface missing program relationship
Pull Request #1697: fix(flows): surface missing program relationship

1505 of 1885 branches covered (79.84%)

Branch coverage included in aggregate %.

3 of 9 new or added lines in 1 file covered. (33.33%)

814 existing lines in 78 files now uncovered.

5286 of 6106 relevant lines covered (86.57%)

186.68 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

85.71
/src/js/views/programs/programs-all_views.js
1
import Radio from 'backbone.radio';
2
import hbs from 'handlebars-inline-precompile';
3
import { View, CollectionView } from 'marionette';
4

5
import { alphaSort } from 'js/utils/sorting';
6

7
import PreloadRegion from 'js/regions/preload_region';
8

9
import 'scss/modules/list-pages.scss';
10
import 'scss/modules/table-list.scss';
11
import './programs-list.scss';
12

13
const EmptyView = View.extend({
123✔
14
  className: 'table-list__empty-list',
15
  template: hbs`<h2>{{ @intl.programs.programsAllViews.emptyView }}</h2>`,
16
});
17

18
const ItemView = View.extend({
123✔
19
  className: 'table-list__item',
20
  template: hbs`
21
    <div data-testid="program-list-name">{{ name }}</div>
22
    <div class="programs-list__published{{#if published}} is-published{{/if}}">
23
      {{#if published}}{{fas "toggle-on"}}{{else}}{{far "toggle-off"}}{{/if}}
24
      {{formatMessage (intlGet "programs.programsAllViews.itemView.published") published=published}}
25
    </div>
26
    <div class="programs-list__updated-ts">{{formatDateTime updated_at "TIME_OR_DAY"}}</div>
27
  `,
28
  templateContext() {
29
    return {
4✔
30
      published: !!this.model.get('published_at'),
31
    };
32
  },
33
  triggers: {
34
    'click': 'click',
35
  },
36
  onClick() {
UNCOV
37
    Radio.trigger('event-router', 'program:details', this.model.id);
×
38
  },
39
});
40

41
const LayoutView = View.extend({
123✔
42
  className: 'flex-region',
43
  template: hbs`
44
    <div class="list-page__header">
45
      <div class="flex list-page__title">
46
        <div class="flex list-page__title-filter">
47
          <span class="list-page__title-icon">{{far "screwdriver-wrench"}}</span>{{ @intl.programs.programsAllViews.layoutView.title }}
48
        </div>
49
      </div>
50
      <button class="u-margin--b-16 button-primary js-add">{{far "circle-plus"}}<span>{{ @intl.programs.programsAllViews.addProgramBtn }}</span></button>
51
    </div>
52
    <div class="table-list programs-list__table-list">
53
      <div class="table-list__header list-page__list-header">
54
        <div>{{ @intl.programs.programsAllViews.layoutView.programHeader }}</div>
55
        <div>{{ @intl.programs.programsAllViews.layoutView.stateHeader }}</div>
56
        <div>{{ @intl.programs.programsAllViews.layoutView.updatedHeader }}</div>
57
      </div>
58
      <div class="table-list__list" data-list-region></div>
59
    </div>
60
  `,
61
  regions: {
62
    list: {
63
      el: '[data-list-region]',
64
      regionClass: PreloadRegion,
65
      replaceElement: true,
66
    },
67
  },
68
  triggers: {
69
    'click .js-add': 'click:add',
70
  },
71
});
72

73
const ListView = CollectionView.extend({
123✔
74
  className: 'table-list__list list-page__list',
75
  childView: ItemView,
76
  emptyView: EmptyView,
77
  viewComparator(viewA, viewB) {
78
    return alphaSort('desc', viewA.model.get('updated_at'), viewB.model.get('updated_at'));
2✔
79
  },
80
});
81

82
export {
83
  LayoutView,
84
  ListView,
85
};
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc