public void GetAllShouldReturnAllEntities() { // arrange Bug[] bugs = { new Bug() { Content = "Bug1" }, new Bug() { Content = "Bug2" } }; var repoMock = new Mock <IRepository <Bug> >(); repoMock.Setup(x => x.All()).Returns(bugs.AsQueryable()); var bugsControllers = new BugsController(repoMock.Object); // act var result = bugsControllers.GetAllBugs().ToArray <Bug>(); // assert CollectionAssert.AreEqual(bugs, result); }
public void AddValidBugShouldBeAddedToRepository() { // Arrange var bugLoggerFakeData = new BugLoggerFakeUoW(); var bug = new CreateBugModel() { Description = "bug-1", LogDate = DateTime.Now }; var bugsController = new BugsController(bugLoggerFakeData); this.SetupController(bugsController); // Act bugsController.Create(bug); // Assert Assert.AreEqual(bugLoggerFakeData.Bugs.All().Count(), 1); var bugInDatabase = bugLoggerFakeData.Bugs.All().First(); Assert.AreEqual(bug.Description, bugInDatabase.Description); Assert.AreEqual(BugStatus.Pending, bugInDatabase.Status); Assert.IsNotNull(bugInDatabase.LogDate); Assert.IsTrue(bugLoggerFakeData.IsSaveChangedCalled); }
public void ChangeBugStatus_WhenStatusIsChanged_ShowdReturnBugsCollectionFromSearchedStatus() { //arrange FakeRepository <Bug> fakeRepo = new FakeRepository <Bug>(); var bugs = new List <Bug>() { new Bug() { Id = 1, Text = "TEST NEW BUG 1", Status = Status.Pending } }; fakeRepo.Entities = bugs; var controller = new BugsController(fakeRepo as IRepository <Bug>); this.SetupController(controller); //act controller.PutBug(1, Status.Fixed); //assert Assert.AreEqual(Status.Fixed, bugs[0].Status); }
public void Modify_NonExisting_Bug_With_Correct_Data_Should_Return_404NotFound() { // Arrange var newBugData = new EditBugBindingModel { Title = "Modified title", Description = "Modified description", Status = "Closed" }; var mockContext = new Mock <IBugTrackerData>(); mockContext.Setup(c => c.Bugs) .Returns(this.mock.BugRepositoryMock.Object); var bugsController = new BugsController(mockContext.Object); this.SetupController(bugsController); // Act var response = bugsController.EditExistingBug(int.MaxValue, newBugData) .ExecuteAsync(CancellationToken.None).Result; // Assert Assert.AreEqual(HttpStatusCode.NotFound, response.StatusCode); }
public void AddValidBugShouldBeAddedToRepository_Mocking() { // Arrange var bug = new CreateBugModel() { Description = "bug-1", LogDate = DateTime.Now }; var bugs = new List <Bug>(); var bugLoggerFakeData = this.MockUnitOfWorkForActionAll(bugs); var bugsController = new BugsController(bugLoggerFakeData); this.SetupController(bugsController); // Act bugsController.Create(bug); // Assert Assert.AreEqual(bugLoggerFakeData.Bugs.All().Count(), 1); var bugInDatabase = bugLoggerFakeData.Bugs.All().First(); Assert.AreEqual(bug.Description, bugInDatabase.Description); Assert.AreEqual(BugStatus.Pending, bugInDatabase.Status); Assert.IsNotNull(bugInDatabase.LogDate); }
public void GetAll_WhenValid_ShouldReturnBugsCollection_WithMoq() { // Arrange var repoMock = new Mock <IRepository <Bug> >(); Bug[] bugs = { new Bug() { Text = "Test bug #1" }, new Bug() { Text = "Test bug #2" } }; repoMock.Setup(repo => repo.All()) .Returns(bugs.AsQueryable()); var controller = new BugsController(repoMock.Object); // Act var result = controller.GetAll(); // Assert CollectionAssert.AreEquivalent(bugs, result.ToArray <Bug>()); }
public void Modify_Existing_Bug_With_Correct_Data_Should_Return_200OK_And_Modify_Bug_In_Repository() { // Arrange var fakeBugToModify = this.mock.BugRepositoryMock.Object.All().FirstOrDefault(); var newBugData = new EditBugBindingModel { Title = "Modified title", Description = "Modified description", Status = "Closed" }; var mockContext = new Mock <IBugTrackerData>(); mockContext.Setup(c => c.Bugs) .Returns(this.mock.BugRepositoryMock.Object); var bugsController = new BugsController(mockContext.Object); this.SetupController(bugsController); // Act var response = bugsController.EditExistingBug(fakeBugToModify.Id, newBugData) .ExecuteAsync(CancellationToken.None).Result; // Assert var fakeBugAfterEditing = this.mock.BugRepositoryMock.Object.All().LastOrDefault(); Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); Assert.AreEqual(newBugData.Title, fakeBugAfterEditing.Title); Assert.AreEqual(newBugData.Description, fakeBugAfterEditing.Description); Assert.AreEqual(newBugData.Status, fakeBugAfterEditing.Status.ToString()); }
public void GetByStatus_WhenValid_ShouldReturnCollectionMemberWithCorrespondingStatus() { Bug[] bugs = { new Bug() { Text = "First bug", Status = Status.Assigned }, new Bug() { Text = "Second bug", Status = Status.Pending } }; var data = Mock.Create <IBugLoggerData>(); Mock.Arrange(() => data.Bugs.All()) .Returns(() => bugs.AsQueryable()); var controller = new BugsController(data); this.SetupController(controller); var actionResult = controller.GetAllByStatus("Pending"); var response = actionResult.ExecuteAsync(CancellationToken.None).Result; var actual = response.Content.ReadAsAsync <IEnumerable <BugModel> >().Result.Select(a => a.Id).ToList(); var expected = bugs.AsQueryable().Where(b => b.Status == Status.Pending).Select(a => a.Id).ToList(); CollectionAssert.AreEquivalent(expected, actual); }
public void EditBug_InvalidBugData_ShouldReturn400BadRequest() { // Arrange -> create a few bugs var dataLayerMock = new BugTrackerDataMock(); var bugsMock = dataLayerMock.Bugs; bugsMock.Add(new Bug() { Id = 1, Title = "Bug #1" }); bugsMock.Add(new Bug() { Id = 2, Title = "Bug #2" }); // Act -> edit bug data var bugsController = new BugsController(dataLayerMock); this.SetupControllerForTesting(bugsController, "bugs"); EditBugInputModel editBugData = null; var httpResponse = bugsController.EditBug(1234, editBugData) .ExecuteAsync(new CancellationToken()).Result; // Assert -> HTTP status code 400 (BadRequest) Assert.AreEqual(HttpStatusCode.BadRequest, httpResponse.StatusCode); }
public void AddBug_WhenBugTextIsValid_ShouldBeAddedToRepoWithLogDateAndStatusPending() { var bugs = new List <Bug>(); var bug = new BugModel() { Text = "NEW TEST BUG" }; var data = Mock.Create <IBugLoggerData>(); Mock.Arrange(() => data.Bugs.All()) .Returns(() => bugs.AsQueryable()); Mock.Arrange(() => data.SaveChanges()) .DoInstead(() => bugs.Add(new Bug() { Text = "NEW TEST BUG" })); var controller = new BugsController(data); this.SetupController(controller); //act controller.PostBug(bug); //assert Assert.AreEqual(data.Bugs.All().Count(), 1); var bugInDb = data.Bugs.All().FirstOrDefault(); Assert.AreEqual(bug.Text, bugInDb.Text); Assert.IsNotNull(bugInDb.LogDate); Assert.AreEqual(Status.Pending, bugInDb.Status); }
public void GetById_WhenValid_ShouldReturnTheObjectWithSearchedId() { var data = Mock.Create <IBugLoggerData>(); Bug[] bugs = { new Bug() { Id = 5, Text = "First bug" } }; Mock.Arrange(() => data.Bugs.All()) .Returns(() => bugs.AsQueryable()); var controller = new BugsController(data); this.SetupController(controller); var actionResult = controller.Get(5); var response = actionResult.ExecuteAsync(CancellationToken.None).Result; var actual = response.Content.ReadAsAsync <IEnumerable <BugModel> >().Result.Select(a => a.Id).ToList(); var expected = bugs.AsQueryable().Where(b => b.Id == 5).Select(a => a.Id).ToList(); CollectionAssert.AreEquivalent(expected, actual); }
public void EditExistingBugDescriptionAndStatus_ShouldReturn200OK_Modify() { // Arrange -> create a new bug var data = new BugTrackerDataMock(); var bug = new Bug() { Id = 1, Title = "test", Status = Status.Open }; data.Bugs.Add(bug); var controller = new BugsController(data); this.SetupControllerForTesting(controller, "bugs"); // Act -> edit the above created bug var httpResponse = controller.PatchEditBug(1, new BugBindingEditBugModel() { Description = "Bomba", Status = "Closed" }) .ExecuteAsync(new CancellationToken()).Result; // Assert -> 200 OK Assert.AreEqual(HttpStatusCode.OK, httpResponse.StatusCode); // Assert the service holds the modified bug Assert.AreEqual("test", bug.Title); Assert.AreEqual(Status.Closed, bug.Status); Assert.AreEqual("Bomba", bug.Description); }
public void EditBugStatusOnly() { var controller = new BugsController(dataMock.Object); SetupController(controller, "Bugs"); var bugToEdit = new Bug { Id = 22, Title = "Bug4e Tuka", Description = "ne6to ne e nared", Status = BugStatus.InProgress, DateCreated = DateTime.Now }; dataMock.Setup(data => data.Bugs.Find(It.IsAny <object>())).Returns(bugToEdit); var updatedBug = new EditBugInputModel { Status = "Closed" }; var result = controller.EditBug(2, updatedBug).ExecuteAsync(new CancellationToken()).Result; Assert.AreEqual(HttpStatusCode.OK, result.StatusCode); var resultContent = result.Content.ReadAsStringAsync().Result; Assert.IsTrue(resultContent.Contains("Bug #" + bugToEdit.Id + " patched.")); }
public void PostBugShouldCallRepoAddAndSaveChanges() { // arrange List <Bug> bugsInRepoMock = new List <Bug>(); Bug bug = new Bug() { Content = "Bug1" }; var repoMock = new Mock <IRepository <Bug> >(); repoMock.Setup(x => x.Add(It.IsAny <Bug>())) .Callback((Bug b) => bugsInRepoMock.Add(b)); repoMock.Setup(x => x.SaveChanges()).Returns(1); var bugsController = new BugsController(repoMock.Object); this.SetupController(bugsController); // act bugsController.PostBug(bug); // assert repoMock.Verify(x => x.SaveChanges(), Times.Exactly(1)); Assert.AreEqual(1, bugsInRepoMock.Count); Assert.AreEqual("Bug1", bugsInRepoMock[0].Content); Assert.IsNotNull(bugsInRepoMock[0].LogDate); Assert.IsNotNull(bugsInRepoMock[0].Status); }
public void AddBug_WhenBugTextIsValid_ShouldBeAddedToRepoWithLogDateAndStatusPending() { //arrange var repo = new FakeRepository <Bug>(); repo.IsSaveCalled = false; repo.Entities = new List <Bug>(); var bug = new Bug() { Text = "NEW TEST BUG" }; var controller = new BugsController(repo); this.SetupController(controller); //act controller.PostBug(bug); //assert Assert.AreEqual(repo.Entities.Count, 1); var bugInDb = repo.Entities.First(); Assert.AreEqual(bug.Text, bugInDb.Text); Assert.IsNotNull(bugInDb.LogDate); Assert.AreEqual(Status.Pending, bugInDb.Status); Assert.IsTrue(repo.IsSaveCalled); }
public void EditBug_NonExistingBug_ShouldReturn404NotFound() { // Arrange -> create a few bugs var dataLayerMock = new BugTrackerDataMock(); var bugsMock = dataLayerMock.Bugs; bugsMock.Add(new Bug() { Id = 1, Title = "Bug #1" }); bugsMock.Add(new Bug() { Id = 2, Title = "Bug #2" }); // Act -> edit bug data var bugsController = new BugsController(dataLayerMock); this.SetupControllerForTesting(bugsController, "bugs"); var editBugData = new EditBugInputModel() { Title = "new title" }; var httpResponse = bugsController.EditBug(1234, editBugData) .ExecuteAsync(new CancellationToken()).Result; // Assert -> HTTP status code 404 (Not Found) Assert.AreEqual(HttpStatusCode.NotFound, httpResponse.StatusCode); }
public void GetAll_WhenValid_ShouldReturnBugsCollection_WithMocks() { //arrange var repo = Mock.Create <IRepository <Bug> >(); Bug[] bugs = { new Bug() { Text = "Bug1" }, new Bug() { Text = "Bug2" } }; Mock.Arrange(() => repo.All()) .Returns(() => bugs.AsQueryable()); var controller = new BugsController(repo); //act var result = controller.GetAll(); //assert CollectionAssert.AreEquivalent(bugs, result.ToArray <Bug>()); }
public void GetCount_WhenValid_ShouldReturnSpecificNumberOfBugs() { FakeRepository <Bug> fakeRepo = new FakeRepository <Bug>(); var bugs = new List <Bug>() { new Bug() { Text = "TEST NEW BUG 1", Status = Status.Pending }, new Bug() { Text = "TEST NEW BUG 2", Status = Status.Pending }, new Bug() { Text = "TEST NEW BUG 3", Status = Status.ForTesting }, new Bug() { Text = "TEST NEW BUG 4", Status = Status.Fixed } }; fakeRepo.Entities = bugs; var controller = new BugsController(fakeRepo as IRepository <Bug>); var result = controller.GetCount(2).ToList(); Assert.IsTrue(result.Count() == 2); }
public void GetAll_WhenValid_ShouldReturnBugsCollection() { // Arrange var repo = new RepositoryMock <Bug>(); var bugs = new List <Bug>() { new Bug() { Text = "Test bug #1" }, new Bug() { Text = "Test bug #2" }, new Bug() { Text = "Test bug #3" } }; repo.Entities = bugs; var controller = new BugsController(repo); // Act var result = controller.GetAll(); // Assert CollectionAssert.AreEquivalent(bugs, result.ToList <Bug>()); }
public void InitTestInitialize() { // Setup fake bug this.fakeBug = new Bug() { Id = 1, Title = "not changed", Description = "not changed", DateCreated = DateTime.Now, Comments = new List <Comment>(), Author = null, Status = Status.Open }; // Setup repositories var mockedRepository = new Mock <IRepository <Bug> >(); mockedRepository.Setup(r => r.GetById(It.Is <int>(i => i == 1))).Returns(this.fakeBug); // Setup data layer var mockedContext = new Mock <IBugTrackerData>(); mockedContext.Setup(c => c.Bugs).Returns(mockedRepository.Object); // Setup controller this.controller = new BugsController(mockedContext.Object); this.controller.Request = new HttpRequestMessage(); this.controller.Configuration = new HttpConfiguration(); }
public void Modify_Existing_Bug_With_InCorrect_Data_Should_Return_400BadRequest_And_Do_Not_Modify_Bug() { // Arrange var fakeBugToModify = this.mock.BugRepositoryMock.Object.All().FirstOrDefault(); var newBugData = new EditBugBindingModel { }; var mockContext = new Mock <IBugTrackerData>(); mockContext.Setup(c => c.Bugs) .Returns(this.mock.BugRepositoryMock.Object); var bugsController = new BugsController(mockContext.Object); this.SetupController(bugsController); bugsController.ModelState.AddModelError("No data", "Empty binding model."); // Act var response = bugsController.EditExistingBug(fakeBugToModify.Id, newBugData) .ExecuteAsync(CancellationToken.None).Result; // Assert var fakeBugAfterEditing = this.mock.BugRepositoryMock.Object.All().FirstOrDefault(); Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode); Assert.AreEqual(fakeBugToModify.Title, fakeBugAfterEditing.Title); Assert.AreEqual(fakeBugToModify.Description, fakeBugAfterEditing.Description); Assert.AreEqual(fakeBugToModify.Status, fakeBugAfterEditing.Status); }
public void GetAll_WhenValid_ShouldReturnBugsCollection() { //arrange FakeRepository <Bug> fakeRepo = new FakeRepository <Bug>(); var bugs = new List <Bug>() { new Bug() { Text = "TEST NEW BUG 1" }, new Bug() { Text = "TEST NEW BUG 2" }, new Bug() { Text = "TEST NEW BUG 3" } }; fakeRepo.Entities = bugs; var controller = new BugsController(fakeRepo as IRepository <Bug>); //act var result = controller.GetAll(); //assert CollectionAssert.AreEquivalent(bugs, result.ToList <Bug>()); }
public void GetAll_WhenValid_ShouldReturnBugsCollection_WithMocks() { var repo = Mock.Create <IRepository <Bug> >(); Bug[] bugs = { new Bug() { Id = 200, Text = "Bug1", Status = Status.Pending, LogDate = new DateTime(2011, 6, 5) }, new Bug() { Id = 21, Text = "Bug2", Status = Status.Pending, LogDate = new DateTime(2013, 6, 2) } }; Mock.Arrange(() => repo.All()) .Returns(() => bugs.AsQueryable()); var controller = new BugsController(repo); var result = controller.GetAll().ToArray <ResponseBugModel>(); var expected = bugs.AsQueryable().ProjectTo <ResponseBugModel>().ToArray(); CollectionAssert.AreEquivalent(expected, result); }
/// <summary> /// Loading all bugs into DataTable /// </summary> public void LoadAllBugs() { BugsController bController = new BugsController(); DataTable dt = bController.ShowAllBugs(email); dataGridView1.DataSource = dt; dataGridView1.Columns["bugId"].HeaderText = "BugId"; dataGridView1.Columns["projectname"].HeaderText = "Project Name"; dataGridView1.Columns["classname"].HeaderText = "Class Name"; dataGridView1.Columns["method"].HeaderText = "Method"; dataGridView1.Columns["lineNo"].HeaderText = "StartLine No."; dataGridView1.Columns["endline"].HeaderText = "EndLine no."; dataGridView1.Columns["author"].HeaderText = "Author"; dataGridView1.Columns["year"].HeaderText = "Year"; dataGridView1.Columns["month"].HeaderText = "Month"; dataGridView1.Columns["day"].HeaderText = "Day"; dataGridView1.Columns["sourcecode"].HeaderText = "Source Code"; dataGridView1.Columns["status"].HeaderText = "Status"; dataGridView1.Columns["addedby"].HeaderText = "Added By"; dataGridView1.Columns["solveremail"].HeaderText = "Solver Email"; dataGridView1.Columns["solveyear"].HeaderText = "Solve Year"; dataGridView1.Columns["solvemonth"].HeaderText = "Solve month"; dataGridView1.Columns["solveday"].HeaderText = "Solve day"; dataGridView1.Columns["solvecode"].HeaderText = "Solve code"; dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; dataGridView1.AllowUserToAddRows = false; dataGridView1.AllowUserToDeleteRows = false; dataGridView1.AllowUserToResizeColumns = false; dataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.DisableResizing; }
//button event to delete data private void button2_Click(object sender, EventArgs e) { if (dataGridView1.SelectedRows.Count != 0) { DialogResult result = MessageBox.Show("Are you sure you want to delete bug record", "Delete", MessageBoxButtons.YesNo); if (result == DialogResult.Yes) { int bugId = Convert.ToInt32(dataGridView1.SelectedRows[0].Cells[0].Value); string addedby = dataGridView1.SelectedRows[0].Cells[13].Value.ToString(); Bugs bugs = new Bugs(); bugs.BugId = bugId; BugsController bController = new BugsController(); Boolean delete = bController.DeleteBugs(bugs); if (delete) { MessageBox.Show("Deleted Succesfully"); dataGridView1.Refresh(); LoadBugs(); } else { MessageBox.Show("delete unsuccesfull"); } } } else { MessageBox.Show("Please select a row");; } }
public void TestJson() { var controller = new BugsController(); controller.WithCallTo(c => c.ToJson()) .ShouldReturnJson(); }
public void Create_GetMethod() { var controller = new BugsController(); controller.WithCallTo(c => c.Create()) .ShouldRenderDefaultView(); }
public void Details_InvalidId_NotFound() { var controller = new BugsController(); controller.WithCallTo(c => c.Details(-1)) .ShouldGiveHttpStatus(HttpStatusCode.NotFound); }
public void Details_NullParameter_BadRequest() { var controller = new BugsController(); controller.WithCallTo(c => c.Details(null)) .ShouldGiveHttpStatus(HttpStatusCode.BadRequest); }
public void Index_ShouldPass() { var controller = new BugsController(); controller.WithCallTo(c => c.Index()) .ShouldRenderDefaultView() .WithModel <IList <Bug> >(); }