コード例 #1
0
        public void TestThatANewProjectIsSaved()
        {
            // Arrange
            var mockProject = new Mock<IProjectModel>();
            mockProject.SetupGet(p => p.Id).Returns("TestID");
            mockProject.SetupGet(p => p.Name).Returns("Test Name");
            mockProject.SetupGet(p => p.TaskTrackerId).Returns("TaskTrackerID");

            // Act
            var testSettings = new SettingsService(this.mockSettingsStorage.Object);
            testSettings.SaveProject(mockProject.Object);

            // Assert
            this.mockSettingsStorage.Setup(s => s.SettingsFileExsists()).Returns(true);
            var verifySettings = new SettingsService(this.mockSettingsStorage.Object);
            var retrievedProject = verifySettings.GetProjects().FirstOrDefault();

            Assert.IsFalse(string.IsNullOrWhiteSpace(retrievedProject.InternalUrn));
            Assert.AreEqual(1, verifySettings.GetProjects().Count());
            Assert.AreEqual(mockProject.Object.Id, retrievedProject.Id);
            Assert.AreEqual(mockProject.Object.Name, retrievedProject.Name);
            Assert.AreEqual(mockProject.Object.TaskTrackerId, retrievedProject.TaskTrackerId);
        }
コード例 #2
0
        public void TestThatProjectSettingsCanBeDecrypted()
        {
            // Arrange
            var mockProject = Mock.Get(MockObjects.Project());
            var testSettings = new SettingsService(this.mockSettingsStorage.Object);
            var mockProjectSettings = Mock.Get(MockObjects.Settings(mockProject.Object.InternalUrn));

            // Act
            testSettings.SaveProject(mockProject.Object, mockProjectSettings.Object);

            // Assert
            this.mockSettingsStorage.Setup(s => s.SettingsFileExsists()).Returns(true);
            var verifySettings = new SettingsService(this.mockSettingsStorage.Object);
            var retrievedProject = verifySettings.GetProjects().FirstOrDefault();
            var retrievedSettings = verifySettings.GetProjectSettings(retrievedProject);

            Assert.AreEqual(1, retrievedSettings.Values.Count);

            var firstSetting = retrievedSettings.Values.First();
            var pointer = Marshal.SecureStringToGlobalAllocUnicode(firstSetting.Value);
            var decryptedString = Marshal.PtrToStringUni(pointer);
            Assert.AreEqual("Test0", decryptedString);
        }
コード例 #3
0
        public void TestThatAnExsistingProjectIsUpdated()
        {
            // Arrange
            var mockProject = Mock.Get(MockObjects.Project());
            var testSettings = new SettingsService(this.mockSettingsStorage.Object);
            testSettings.SaveProject(mockProject.Object);

            // Act
            mockProject.SetupGet(p => p.Name).Returns("Changed name");
            testSettings.SaveProject(mockProject.Object);

            // Assert
            this.mockSettingsStorage.Setup(s => s.SettingsFileExsists()).Returns(true);
            var verifySettings = new SettingsService(this.mockSettingsStorage.Object);
            var retrievedProject = verifySettings.GetProjects().FirstOrDefault();

            Assert.AreEqual("Changed name", retrievedProject.Name);
        }
コード例 #4
0
        public void TestThatAProjectAndProjectSettingsAreUpdated()
        {
            // Arrange
            var mockProject = Mock.Get(MockObjects.Project());
            var testSettings = new SettingsService(this.mockSettingsStorage.Object);
            var mockProjectSettings = Mock.Get(MockObjects.Settings(mockProject.Object.InternalUrn));

            testSettings.SaveProject(mockProject.Object, mockProjectSettings.Object);

            // Act
            mockProject.SetupGet(p => p.Name).Returns("Changed name");
            var changedValues = mockProjectSettings.Object.Values.Take(1).ToDictionary(d => d.Key, d => d.Value);
            mockProjectSettings.SetupGet(s => s.Values).Returns(changedValues);
            testSettings.SaveProject(mockProject.Object, mockProjectSettings.Object);

            // Assert
            this.mockSettingsStorage.Setup(s => s.SettingsFileExsists()).Returns(true);
            var verifySettings = new SettingsService(this.mockSettingsStorage.Object);
            var retrievedProject = verifySettings.GetProjects().FirstOrDefault();
            var retrievedSettings = verifySettings.GetProjectSettings(retrievedProject);

            Assert.AreEqual("Changed name", retrievedProject.Name);
            Assert.AreEqual(1, retrievedSettings.Values.Count);
        }
コード例 #5
0
        public void TestThatAnExsistingProjectIsDeleted()
        {
            // Arrange
            var mockProject = MockObjects.Project();
            var testSettings = new SettingsService(this.mockSettingsStorage.Object);
            testSettings.SaveProject(mockProject);

            // Act
            testSettings.DeleteProject(mockProject);

            // Assert
            this.mockSettingsStorage.Setup(s => s.SettingsFileExsists()).Returns(true);
            var verifySettings = new SettingsService(this.mockSettingsStorage.Object);

            Assert.AreEqual(0, verifySettings.GetProjects().Count());
        }