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

RoundingWell / care-ops-frontend / fe77af74-9630-40cd-848d-3457b9ab4909

09 Jun 2026 08:01PM UTC coverage: 71.416% (-28.6%) from 100.0%
fe77af74-9630-40cd-848d-3457b9ab4909

Pull #1715

circleci

nmajor25
feat(forms): add draft status button with discard dropdown
Pull Request #1715: feat(forms): replace draft prompt with persistent draft status indicator

1303 of 1921 branches covered (67.83%)

Branch coverage included in aggregate %.

33 of 52 new or added lines in 3 files covered. (63.46%)

1672 existing lines in 99 files now uncovered.

4466 of 6157 relevant lines covered (72.54%)

129.47 hits per line

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

0.0
/src/js/apps/programs/sidebar/program-sidebar_app.js
1
import Radio from 'backbone.radio';
2

3
import App from 'js/base/app';
4

5
import { SidebarView, TimestampsView, headingText } from 'js/views/programs/sidebar/program/programs-sidebar_views';
6

7
export default App.extend({
8
  onBeforeStart({ program }) {
UNCOV
9
    this.program = program;
×
10

UNCOV
11
    this.showHeading();
×
12

UNCOV
13
    const contentView = new SidebarView({
×
14
      program: this.program,
15
    });
16

UNCOV
17
    this.listenTo(contentView, {
×
18
      'save': this.onSave,
19
      'close': this.stop,
20
    });
21

UNCOV
22
    this.showChildView('content', contentView);
×
UNCOV
23
    this.showTimestamps();
×
24
  },
25
  onSave({ model }) {
UNCOV
26
    const isNew = this.program.isNew();
×
UNCOV
27
    this.program.save(model.pick('name', 'details'))
×
28
      .then(() => {
UNCOV
29
        if (isNew) Radio.request('sidebar', 'stop');
×
30
      }, ({ responseData }) => {
UNCOV
31
        const errors = this.program.parseErrors(responseData);
×
UNCOV
32
        this.getChildView('content').showErrors(errors);
×
33
      });
34
  },
35
  onClose() {
UNCOV
36
    this.stop();
×
37
  },
38
  onStop() {
UNCOV
39
    if (this.program && this.program.isNew()) this.program.destroy();
×
40
  },
41
  showHeading() {
UNCOV
42
    this.showChildView('heading', headingText);
×
43
  },
44
  showTimestamps() {
UNCOV
45
    if (this.program.isNew()) return;
×
UNCOV
46
    this.showChildView('footer', new TimestampsView({ model: this.program }));
×
47
  },
48
});
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc