Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,4 +89,8 @@ When a task is created due date does not go into the due date column of the data
### Solution
Fix typo in service layer of backend for create task. It should set response.getDueDate to task.dueDate not task.expectCompletionDate

## Coverage Testing Report
Extensively detailed coverage report can be found by opening "COSC310_GroupProject\coverageTesting\jacoco\index.html" in a browser.
Low coverage percentage in TaskManagerApplication.java is due to it being a single class to hold the main method.
Low coverage percentage in Controller and Entity classes is due to setters, getters, and error throwing/printing code which is simple enough that it is unnecessary and time-consuming to test.

27 changes: 27 additions & 0 deletions backend/task-manager/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -83,13 +83,40 @@
</dependencies>

<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.8</version>
</plugin>
</plugins>
</pluginManagement>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-maven-plugin</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ public AdminAccountController(AdminService adminService) {
@PostMapping
public ResponseEntity<?> createAdmin(@RequestBody AdminRequestDTO request) {
try {
System.out.println("enter try");
AdminDTO createAdmin = adminService.createAdmin(
request.getName(),
request.getEmail(),
Expand All @@ -39,6 +40,7 @@ public ResponseEntity<?> createAdmin(@RequestBody AdminRequestDTO request) {
@DeleteMapping("/{adminId}")
public ResponseEntity<?> deleteAdmin(@PathVariable int adminId) {
try {
System.out.println("enter try");
adminService.deleteAdmin(adminId);
return ResponseEntity.noContent().build();
} catch (Exception e) {
Expand All @@ -50,6 +52,7 @@ public ResponseEntity<?> deleteAdmin(@PathVariable int adminId) {
@PutMapping("/{adminId}/name")
public ResponseEntity<?> updateAdminName(@PathVariable int adminId, @RequestBody UpdateNameRequestDTO request) {
try {
System.out.println("enter try");
AdminDTO updatedAdmin = adminService.modifyAdminName(adminId, request.getNewName());
return ResponseEntity.ok(updatedAdmin);
} catch (Exception e) {
Expand All @@ -61,6 +64,7 @@ public ResponseEntity<?> updateAdminName(@PathVariable int adminId, @RequestBody
@PutMapping("/{adminId}/email")
public ResponseEntity<?> updateAdminEmail(@PathVariable int adminId, @RequestBody UpdateEmailRequestDTO request) {
try {
System.out.println("enter try");
AdminDTO updatedAdmin = adminService.modifyAdminEmail(adminId, request.getNewEmail());
return ResponseEntity.ok(updatedAdmin);
} catch (NoSuchElementException e) {
Expand All @@ -73,6 +77,7 @@ public ResponseEntity<?> updateAdminEmail(@PathVariable int adminId, @RequestBod
@GetMapping("/{adminId}")
public ResponseEntity<?> getAdminById(@PathVariable int adminId) {
try {
System.out.println("enter try");
AdminDTO admin = adminService.getAdminById(adminId);
return ResponseEntity.ok(admin);
} catch (RuntimeException e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ public TeamMemberAccountController(AdminService adminService) {
@PostMapping
public ResponseEntity<?> createTeamMember(@RequestBody AdminRequestDTO request) {
try {
System.out.println("enter try");
TeamMemberDTO createTeamMember = adminService.createTeamMember(
request.getName(),
request.getEmail(),
Expand All @@ -41,6 +42,7 @@ public ResponseEntity<?> createTeamMember(@RequestBody AdminRequestDTO request)
@DeleteMapping("/{teamMemberId}")
public ResponseEntity<?> deleteTeamMember(@PathVariable int teamMemberId) {
try {
System.out.println("enter try");
adminService.deleteTeamMember(teamMemberId);
return ResponseEntity.noContent().build();
} catch (RuntimeException e) {
Expand All @@ -52,6 +54,7 @@ public ResponseEntity<?> deleteTeamMember(@PathVariable int teamMemberId) {
@PutMapping("/{teamMemberId}/name")
public ResponseEntity<?> modifyTeamMemberName(@PathVariable int teamMemberId, @RequestBody UpdateNameRequestDTO request) {
try {
System.out.println("enter try");
return ResponseEntity.ok(adminService.modifyTeamMemberName(teamMemberId, request.getNewName()));
} catch (Exception e) {
return ResponseEntity.badRequest().body(e.getMessage());
Expand All @@ -62,6 +65,7 @@ public ResponseEntity<?> modifyTeamMemberName(@PathVariable int teamMemberId, @R
@PutMapping("/{teamMemberId}/email")
public ResponseEntity<?> modifyTeamMemberEmail(@PathVariable int teamMemberId, @RequestBody UpdateEmailRequestDTO request) {
try {
System.out.println("enter try");
return ResponseEntity.ok(adminService.modifyTeamMemberEmail(teamMemberId, request.getNewEmail()));
} catch (NoSuchElementException e) {
return ResponseEntity.status(404).body("Team member not found");
Expand All @@ -74,6 +78,7 @@ public ResponseEntity<?> modifyTeamMemberEmail(@PathVariable int teamMemberId, @
@GetMapping("/{teamMemberId}")
public ResponseEntity<?> getTeamMemberById(@PathVariable int teamMemberId) {
try {
System.out.println("enter try");
TeamMemberDTO teamMember = adminService.getTeamMemberById(teamMemberId);
return ResponseEntity.ok(teamMember);
} catch (RuntimeException e) {
Expand All @@ -85,6 +90,7 @@ public ResponseEntity<?> getTeamMemberById(@PathVariable int teamMemberId) {
@GetMapping
public ResponseEntity<?> getTeamMembers() {
try {
System.out.println("enter try");
List<TeamMemberWithTeamLeadDTO> teamMembers = adminService.getAllTeamMembers();
return ResponseEntity.ok(teamMembers);
} catch (RuntimeException e) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AdminDTO</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">task-manager</a> &gt; <a href="index.html" class="el_package">com.example.task_manager.DTO</a> &gt; <span class="el_class">AdminDTO</span></div><h1>AdminDTO</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 43</td><td class="ctr2">90%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">9</td><td class="ctr1">2</td><td class="ctr2">18</td><td class="ctr1">1</td><td class="ctr2">9</td></tr></tfoot><tbody><tr><td id="a6"><a href="AdminDTO.java.html#L48" class="el_method">setRole(RoleType)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="32" height="10" title="4" alt="4"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="AdminDTO.java.html#L11" class="el_method">AdminDTO(int, String, String, RoleType)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="15" alt="15"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a5"><a href="AdminDTO.java.html#L24" class="el_method">setAccountId(int)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="32" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a8"><a href="AdminDTO.java.html#L32" class="el_method">setUserName(String)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="32" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a7"><a href="AdminDTO.java.html#L40" class="el_method">setUserEmail(String)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/greenbar.gif" width="32" height="10" title="4" alt="4"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a1"><a href="AdminDTO.java.html#L20" class="el_method">getAccountId()</a></td><td class="bar" id="b5"><img src="../jacoco-resources/greenbar.gif" width="24" height="10" title="3" alt="3"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a4"><a href="AdminDTO.java.html#L28" class="el_method">getUserName()</a></td><td class="bar" id="b6"><img src="../jacoco-resources/greenbar.gif" width="24" height="10" title="3" alt="3"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a3"><a href="AdminDTO.java.html#L36" class="el_method">getUserEmail()</a></td><td class="bar" id="b7"><img src="../jacoco-resources/greenbar.gif" width="24" height="10" title="3" alt="3"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a2"><a href="AdminDTO.java.html#L44" class="el_method">getRole()</a></td><td class="bar" id="b8"><img src="../jacoco-resources/greenbar.gif" width="24" height="10" title="3" alt="3"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AdminDTO.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">task-manager</a> &gt; <a href="index.source.html" class="el_package">com.example.task_manager.DTO</a> &gt; <span class="el_source">AdminDTO.java</span></div><h1>AdminDTO.java</h1><pre class="source lang-java linenums">package com.example.task_manager.DTO;

import com.example.task_manager.enums.RoleType;

public class AdminDTO {
private int accountId;
private String userName;
private String userEmail;
private RoleType role;

<span class="fc" id="L11"> public AdminDTO(int accountId, String userName, String userEmail, RoleType role) {</span>
<span class="fc" id="L12"> this.accountId = accountId;</span>
<span class="fc" id="L13"> this.userName = userName;</span>
<span class="fc" id="L14"> this.userEmail = userEmail;</span>
<span class="fc" id="L15"> this.role = role;</span>
<span class="fc" id="L16"> }</span>

//getters and setters
public int getAccountId() {
<span class="fc" id="L20"> return accountId;</span>
}

public void setAccountId(int accountId) {
<span class="fc" id="L24"> this.accountId = accountId;</span>
<span class="fc" id="L25"> }</span>

public String getUserName() {
<span class="fc" id="L28"> return userName;</span>
}

public void setUserName(String userName) {
<span class="fc" id="L32"> this.userName = userName;</span>
<span class="fc" id="L33"> }</span>

public String getUserEmail() {
<span class="fc" id="L36"> return userEmail;</span>
}

public void setUserEmail(String userEmail) {
<span class="fc" id="L40"> this.userEmail = userEmail;</span>
<span class="fc" id="L41"> }</span>

public RoleType getRole() {
<span class="fc" id="L44"> return role;</span>
}

public void setRole(RoleType role) {
<span class="nc" id="L48"> this.role = role;</span>
<span class="nc" id="L49"> }</span>
}
</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
Loading
Loading