From 38cd60853243758a2e5fe07f7e1851f54bf5cc78 Mon Sep 17 00:00:00 2001
From: ievavold <ievavold@wisc.edu>
Date: Wed, 28 Aug 2019 09:46:53 -0500
Subject: [PATCH] pass honors choice to backend

---
 src/app/dars/dars-view/dars-view.component.ts |  2 ++
 src/app/dars/services/api.service.ts          | 20 +++++------
 src/app/dars/store/actions.ts                 |  1 +
 src/app/dars/store/effects.ts                 | 35 ++++++++-----------
 4 files changed, 25 insertions(+), 33 deletions(-)

diff --git a/src/app/dars/dars-view/dars-view.component.ts b/src/app/dars/dars-view/dars-view.component.ts
index f428eba..d3b8d28 100644
--- a/src/app/dars/dars-view/dars-view.component.ts
+++ b/src/app/dars/dars-view/dars-view.component.ts
@@ -114,6 +114,7 @@ export class DARSViewComponent implements OnInit, OnDestroy {
               darsDegreeProgramCode: event.darsDegreeProgramCode,
               degreePlannerPlanName: event.degreePlannerPlanName,
               whichEnrolledCoursesIncluded: event.whichEnrolledCoursesIncluded,
+              darsHonorsOptionCode: event.darsHonorsOptionCode,
             }),
           );
         }
@@ -136,6 +137,7 @@ export class DARSViewComponent implements OnInit, OnDestroy {
               darsDegreeProgramCode: event.darsDegreeProgramCode,
               degreePlannerPlanName: event.degreePlannerPlanName,
               whichEnrolledCoursesIncluded: event.whichEnrolledCoursesIncluded,
+              darsHonorsOptionCode: event.darsHonorsOptionCode,
             }),
           );
         }
diff --git a/src/app/dars/services/api.service.ts b/src/app/dars/services/api.service.ts
index 0b384b7..c1fd5fe 100644
--- a/src/app/dars/services/api.service.ts
+++ b/src/app/dars/services/api.service.ts
@@ -71,21 +71,17 @@ export class DarsApiService {
   /**
    * Request a new audit
    */
-  public newAudit(
-    darsInstitutionCode: string,
-    darsDegreeProgramCode: string,
-    degreePlannerPlanName?: string,
-    whichEnrolledCoursesIncluded?: string,
-  ): Observable<{ darsJobId: string }> {
+  public newAudit(params: {
+    darsInstitutionCode: string;
+    darsDegreeProgramCode: string;
+    degreePlannerPlanName?: string;
+    whichEnrolledCoursesIncluded?: string;
+    darsHonorsOptionCode: string;
+  }): Observable<{ darsJobId: string }> {
     const url = `${environment.apiDarsUrl}/auditrequest`;
     return this.http.post<{ darsJobId: string }>(
       url,
-      {
-        darsInstitutionCode,
-        darsDegreeProgramCode,
-        degreePlannerPlanName,
-        whichEnrolledCoursesIncluded,
-      },
+      { ...params },
       HTTP_OPTIONS,
     );
   }
diff --git a/src/app/dars/store/actions.ts b/src/app/dars/store/actions.ts
index f269ce3..ac40268 100644
--- a/src/app/dars/store/actions.ts
+++ b/src/app/dars/store/actions.ts
@@ -86,6 +86,7 @@ export class StartSendingAudit implements Action {
       auditType: 'program' | 'whatIf';
       darsInstitutionCode: string;
       darsDegreeProgramCode: string;
+      darsHonorsOptionCode: string;
       degreePlannerPlanName?: string;
       whichEnrolledCoursesIncluded?: string;
     },
diff --git a/src/app/dars/store/effects.ts b/src/app/dars/store/effects.ts
index 7e0ead4..9656ae4 100644
--- a/src/app/dars/store/effects.ts
+++ b/src/app/dars/store/effects.ts
@@ -133,27 +133,20 @@ export class DARSEffects {
     ofType(DarsActionTypes.StartSendingAudit),
     flatMap((action: darsActions.StartSendingAudit) => {
       const auditType = action.payload.auditType;
-      return this.api
-        .newAudit(
-          action.payload.darsInstitutionCode,
-          action.payload.darsDegreeProgramCode,
-          action.payload.degreePlannerPlanName,
-          action.payload.whichEnrolledCoursesIncluded,
-        )
-        .pipe(
-          map(({ darsJobId }) => {
-            return new darsActions.DoneSendingAudit({ auditType, darsJobId });
-          }),
-          catchError(_err => {
-            this.snackBar.open('Unable to generate audit');
-            return of(
-              new darsActions.ErrorSendingAudit({
-                auditType,
-                message: 'Unable to generate audit',
-              }),
-            );
-          }),
-        );
+      return this.api.newAudit({ ...action.payload }).pipe(
+        map(({ darsJobId }) => {
+          return new darsActions.DoneSendingAudit({ auditType, darsJobId });
+        }),
+        catchError(_err => {
+          this.snackBar.open('Unable to generate audit');
+          return of(
+            new darsActions.ErrorSendingAudit({
+              auditType,
+              message: 'Unable to generate audit',
+            }),
+          );
+        }),
+      );
     }),
   );
 
-- 
GitLab