forked from microsoft/TemplateStudio
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLicensesServiceTest.cs
73 lines (60 loc) · 2.67 KB
/
LicensesServiceTest.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System.Collections.Generic;
using System.Linq;
using Microsoft.TemplateEngine.Abstractions;
using Microsoft.Templates.Core;
using Microsoft.Templates.UI;
using Microsoft.Templates.UI.Services;
using Microsoft.Templates.UI.ViewModels.Common;
using Xunit;
namespace UI.Test
{
public class LicensesServiceTest : IClassFixture<TemplatesFixture>
{
private TemplatesFixture _fixture;
public LicensesServiceTest(TemplatesFixture fixture)
{
_fixture = fixture;
_fixture.InitializeFixture(ProgrammingLanguages.CSharp);
}
[Fact]
public void RebuildLicenses_Default()
{
var userSelection = new UserSelection()
{
ProjectType = "SplitView",
Framework = "MVVMLight",
HomeName = "Main"
};
ITemplateInfo template = _fixture.Repository.Get(t => t.Identity == "wts.Page.Blank").FirstOrDefault();
userSelection.Pages.Add(("Main", template));
var licenses = new List<SummaryLicenseViewModel>();
LicensesService.RebuildLicenses(userSelection, licenses);
Assert.True(licenses.Count == 2);
Assert.True(licenses.Any(l => l.Text == "MVVM Light"));
Assert.True(licenses.Any(l => l.Text == "Microsoft.Toolkit.Uwp"));
}
[Fact]
public void RebuildLicenses_AddRemovePage()
{
var licenses = new List<SummaryLicenseViewModel>();
licenses.Add(new SummaryLicenseViewModel(new TemplateLicense() { Text = "TestLicense", Url = "Test" }));
var userSelection = new UserSelection()
{
ProjectType = "SplitView",
Framework = "MVVMLight",
HomeName = "Main"
};
userSelection.Pages.Add(("Main", _fixture.Repository.Get(t => t.Identity == "wts.Page.Blank").FirstOrDefault()));
userSelection.Features.Add(("SettingStorage", _fixture.Repository.Get(t => t.Identity == "wts.Feat.SettingsStorage").FirstOrDefault()));
LicensesService.RebuildLicenses(userSelection, licenses);
Assert.True(licenses.Count == 3);
Assert.False(licenses.Any(l => l.Text == "TestLicense"));
Assert.True(licenses.Any(l => l.Text == "MVVM Light"));
Assert.True(licenses.Any(l => l.Text == "Microsoft.Toolkit.Uwp"));
Assert.True(licenses.Any(l => l.Text == "Newtonsoft.Json"));
}
}
}