< Summary

Information
Class: KT.Modules.Alarm.Core.Application.AcceptRequestService
Assembly: KT.Modules.Alarm
File(s): G:\NetProjects\KeepTrack\src\Modules\KT.Modules.Alarm\Core\Application\AcceptRequestService.cs
Line coverage
100%
Covered lines: 10
Uncovered lines: 0
Coverable lines: 10
Total lines: 20
Line coverage: 100%
Branch coverage
100%
Covered branches: 4
Total branches: 4
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
AcceptAsync()100%44100%

File(s)

G:\NetProjects\KeepTrack\src\Modules\KT.Modules.Alarm\Core\Application\AcceptRequestService.cs

#LineLine coverage
 1using KT.Modules.Alarm.Core.Domain;
 2using KT.Modules.Alarm.Core.Domain.Ports;
 3using KT.Modules.Alarm.Presentation.Contracts;
 4
 5namespace KT.Modules.Alarm.Core.Application
 6{
 37    internal class AcceptRequestService(IRequestRepository requestRepository, IConnectionRepository connectionRepository
 8    {
 9        public async Task AcceptAsync(string requestId)
 310        {
 311            var request = await requestRepository.UpdateRequestAsync(requestId, StatusRequest.Accepted);
 312            if (request == null)
 113                throw new InvalidOperationException("Request not found");
 214            if (await connectionRepository.ExistsConnectionAsync(request.SenderId, request.ReceiverId))
 115                throw new InvalidOperationException("There is already a connection between the two users.");
 116            var connection = new UserConnection(request.SenderId, request.ReceiverId);
 117            await connectionRepository.SaveAsync(connection);
 118        }
 19    }
 20}