public void DeleteBacklogTest() { var testGuid = Guid.NewGuid(); var repo = new BacklogRepo(TestRootDir, () => testGuid); var testBacklog = new Backlog() { Id = String.Empty, Title = "TestBacklog", UserStories = new [] { "A", "B", "C", "D" } }; repo.SaveBacklog(testBacklog, TestId); repo.WriteSubmission(TestId, new Submission() { Indexes = new [] { 3, 2, 1, 0 } }); var backlogFolderPath = Path.Combine(Environment.CurrentDirectory, _testDir); Directory.Exists(backlogFolderPath).Should().BeTrue(); Directory.GetFiles(backlogFolderPath).Length.Should().Be(2, "exactly two files have been added to directory"); repo.DeleteBacklog(TestId); Directory.Exists(backlogFolderPath).Should().BeFalse(); Action act = () => repo.DeleteBacklog("Rubbish"); act.Should().Throw <DirectoryNotFoundException>("directory \"Rubbish\" does not exist"); }
public void DeleteBacklogTest() { var testGuid = Guid.NewGuid(); var repo = new BacklogRepo(TestRootDir, () => testGuid); var testBacklog = new Backlog() { Id = String.Empty, Title = "TestBacklog", UserStories = new[] { "A", "B", "C", "D" } }; repo.SaveBacklog(testBacklog, TestId); repo.WriteSubmission(TestId, new Submission() { Indexes = new[] { 3, 2, 1, 0 } }); var backlogFolderPath = Path.Combine(Environment.CurrentDirectory, _testDir); Directory.Exists(backlogFolderPath).Should().BeTrue(); Directory.GetFiles(backlogFolderPath).Length.Should().Be(2, "exactly two files have been added to directory"); var status = repo.DeleteBacklog(TestId); status.Should().BeOfType <Success>(); Directory.Exists(backlogFolderPath).Should().BeFalse(); status = repo.DeleteBacklog("Rubbish"); status.Should().BeOfType <Failure>().Which.ErrorMessage.Should().Contain("Could not find a part of the path"); }
public void WriteSubmissionsToAnonymousBacklog() { var testGuid1 = Guid.NewGuid(); var testGuid2 = Guid.NewGuid(); var q = new Queue <Guid>(new[] { testGuid1, testGuid2 }); var repo = new BacklogRepo(TestRootDir, () => q.Dequeue()); var expectedSubmission1 = new Submission() { Indexes = new[] { 1, 2, 3, 4 } }; var expectedSubmission2 = new Submission() { Indexes = new[] { 1, 2, 3, 4 }, UserId = 123456 }; var anonymousBacklog = new Backlog() { Id = TestId, OneVotePerUser = false, Title = "TestBacklogAnonymous", UserStories = new[] { "A", "B", "C", "D" } }; repo.SaveBacklog(anonymousBacklog, TestId); repo.WriteSubmission(TestId, expectedSubmission1); File.Exists(Path.Combine(_testDir, "Submission-" + testGuid1 + ".json")).Should().BeTrue(); repo.WriteSubmission(TestId, expectedSubmission2); File.Exists(Path.Combine(_testDir, "Submission-123456.json")).Should().BeFalse(); File.Exists(Path.Combine(_testDir, "Submission-" + testGuid2 + ".json")).Should().BeTrue(); }
public void SaveBacklogTest() { var repo = new BacklogRepo(TestRootDir, Guid.NewGuid); Backlog testBacklog1 = new Backlog() { Id = String.Empty, Title = "TestBacklog", UserStories = new[] { "A", "B", "C", "D" } }; Backlog testBacklog2 = new Backlog() { Id = String.Empty, Title = "TestBacklog", UserStories = new[] { "A", "B", "C", "D" }, OneVotePerUser = true }; var expectedBacklogContent1 = @"{""Id"":""XXX987"",""Title"":""TestBacklog"",""UserStories"":[""A"",""B"",""C"",""D""],""OneVotePerUser"":false}"; var expectedBacklogContent2 = @"{""Id"":""XXX987"",""Title"":""TestBacklog"",""UserStories"":[""A"",""B"",""C"",""D""],""OneVotePerUser"":true}"; repo.SaveBacklog(testBacklog1, TestId); var backlogFolderPath = Path.Combine(Environment.CurrentDirectory, _testDir); var backlogFilePath = Path.Combine(backlogFolderPath, "Backlog.json"); Directory.Exists(backlogFolderPath).Should().BeTrue(); File.Exists(backlogFilePath).Should().BeTrue(); var backlogFileContent = File.ReadAllText(backlogFilePath); backlogFileContent.Should().Be(expectedBacklogContent1); repo.SaveBacklog(testBacklog2, TestId); backlogFileContent = File.ReadAllText(backlogFilePath); backlogFileContent.Should().Be(expectedBacklogContent2); }
public void WriteSubmissionsToAuthenticatedBacklog() { var testGuid1 = Guid.NewGuid(); var testGuid2 = Guid.NewGuid(); var q = new Queue <Guid>(new[] { testGuid1, testGuid2 }); var repo = new BacklogRepo(TestRootDir, () => q.Dequeue()); var anonymousSubmission = new Submission() { Indexes = new[] { 1, 2, 3, 4 } }; var authenticatedSubmission = new Submission() { Indexes = new[] { 1, 2, 3, 4 }, UserId = 123456 }; var authenticatedBacklog = new Backlog() { Id = TestId, OneVotePerUser = true, Title = "TestBacklogAnonymous", UserStories = new[] { "A", "B", "C", "D" } }; repo.SaveBacklog(authenticatedBacklog, TestId); var status = repo.WriteSubmission(TestId, anonymousSubmission); status.Should().BeOfType <Failure>().Which.ErrorMessage.Should().Contain("require a UserId!"); File.Exists(Path.Combine(_testDir, "Submission-" + testGuid1 + ".json")).Should().BeFalse(); status = repo.WriteSubmission(TestId, authenticatedSubmission); status.Should().BeOfType <Success>(); File.Exists(Path.Combine(_testDir, "Submission-123456.json")).Should().BeTrue(); File.Exists(Path.Combine(_testDir, "Submission-" + testGuid1 + ".json")).Should().BeFalse(); File.Exists(Path.Combine(_testDir, "Submission-" + testGuid2 + ".json")).Should().BeFalse(); }