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); }
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); }
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); }
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); }
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()); }