< Summary

Information
Class: Chronicis.Client.Services.WikiLinkCommitService
Assembly: Chronicis.Client
File(s): /home/runner/work/chronicis/chronicis/src/Chronicis.Client/Services/WikiLinkCommitService.cs
Line coverage
100%
Covered lines: 3
Uncovered lines: 0
Coverable lines: 3
Total lines: 38
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

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

File(s)

/home/runner/work/chronicis/chronicis/src/Chronicis.Client/Services/WikiLinkCommitService.cs

#LineLine coverage
 1namespace Chronicis.Client.Services;
 2
 3/// <inheritdoc cref="IWikiLinkCommitService"/>
 4public class WikiLinkCommitService : IWikiLinkCommitService
 5{
 6    private readonly IWikiLinkService _wikiLinkService;
 7
 8    public WikiLinkCommitService(IWikiLinkService wikiLinkService)
 9    {
 610        _wikiLinkService = wikiLinkService;
 611    }
 12
 13    /// <inheritdoc/>
 14    public AutocompleteCommitDecision Decide(
 15        string query,
 16        int suggestionsCount,
 17        int selectedIndex,
 18        bool isExternalQuery,
 19        bool isMapQuery)
 320        => AutocompleteCommitDecision.Decide(query, suggestionsCount, selectedIndex, isExternalQuery, isMapQuery);
 21
 22    /// <inheritdoc/>
 23    public async Task<WikiLinkCreateResult> CreateAndLinkAsync(string name, Guid worldId)
 24    {
 25        try
 26        {
 27            var article = await _wikiLinkService.CreateArticleFromAutocompleteAsync(name, worldId);
 28            if (article == null)
 29                return new WikiLinkCreateResult(false, null, "Failed to create article");
 30
 31            return new WikiLinkCreateResult(true, article, null);
 32        }
 33        catch (Exception ex)
 34        {
 35            return new WikiLinkCreateResult(false, null, ex.Message);
 36        }
 37    }
 38}