Пример #1
0
        public async Task Test_LoadAsync()
        {
            // Arrange.
            var component = new Mock <IExternalComponent>();

            component.Setup(c => c.GetCurrentVersionAsync(It.IsAny <CancellationToken>()))
            .Returns(Task.FromResult("Version"));

            component.Setup(c => c.HasUpdateAsync(It.IsAny <CancellationToken>()))
            .Returns(Task.FromResult(Option <string> .Some("NewerVersion")));

            securityService.Setup(ss => ss.HasAdminPriviledges()).Returns(true);

            var viewModel = new ComponentViewModel(component.Object, securityService.Object);

            // Act.
            await viewModel.LoadAsync();

            // Assert.
            Assert.Equal("Version", viewModel.CurrentVersion);
            Assert.True(viewModel.HasAvailableUpdate.HasValue);
            Assert.True(viewModel.HasAvailableUpdate.Value);
            Assert.True(viewModel.CanUpdate);
            Assert.Equal("NewerVersion", viewModel.LatestVersion);
        }
Пример #2
0
        public async Task Test_CanUpdate(bool expected, string latestVersion, bool hasPermission)
        {
            // Arrange.
            var component = new Mock <IExternalComponent>();

            component.Setup(c => c.GetCurrentVersionAsync(It.IsAny <CancellationToken>()))
            .Returns(Task.FromResult("Version"));

            component.Setup(c => c.HasUpdateAsync(It.IsAny <CancellationToken>()))
            .Returns(Task.FromResult(Option <string> .From(latestVersion)));

            securityService.Setup(ss => ss.HasAdminPriviledges()).Returns(hasPermission);

            var viewModel = new ComponentViewModel(component.Object, securityService.Object);
            await viewModel.LoadAsync();

            // Act.
            bool actual = viewModel.CanUpdate;

            // Assert.
            Assert.Equal(expected, actual);
        }