public void ReturnsBudgetsOnlyForTheUser() { // Act. List <Budget> actualList; using (CheckbookContext context = new CheckbookContext(this.dbContextOptions)) { BudgetsRepository repository = new BudgetsRepository(context); actualList = repository.GetAll(this.userId).ToList(); } // Assert. using (CheckbookContext context = new CheckbookContext(this.dbContextOptions)) { int numberOfBudgetUsers = context.Budgets .GroupBy(a => a.UserId) .Count(); Assert.AreNotEqual(numberOfBudgetUsers, 0, "For the test to work there must be more than one user with budgets."); Assert.AreNotEqual(numberOfBudgetUsers, 1, "For the test to work there must be more than one user with budgets."); } foreach (Budget actual in actualList) { Assert.AreEqual(this.userId, actual.UserId, "The user ID for each budget should match the input user ID."); } }
public void ReturnsEmptyListWhenNoRecordsFound() { // Arrange. this.userId = 123; // Act. List <Budget> actualList; using (CheckbookContext context = new CheckbookContext(this.dbContextOptions)) { BudgetsRepository repository = new BudgetsRepository(context); actualList = repository.GetAll(this.userId).ToList(); } // Assert. Assert.AreEqual(0, actualList.Count(), "An empty list should be returned."); }
public void ReturnsBudgetsFromContext() { // Act. List <Budget> actualList; using (CheckbookContext context = new CheckbookContext(this.dbContextOptions)) { BudgetsRepository repository = new BudgetsRepository(context); actualList = repository.GetAll(this.userId).ToList(); } // Assert. Assert.AreEqual(this.entities.Count(), actualList.Count(), "The entity count should match."); Budget expected = this.entities.ElementAt(0); Budget actual = actualList.ElementAt(0); string index = "first"; Assert.AreEqual(expected.Id, actual.Id, $"The ID for the {index} entity should match."); Assert.AreEqual(expected.Name, actual.Name, $"The name for the {index} entity should match."); Assert.AreEqual(expected.UserId, actual.UserId, $"The user ID for the {index} entity should match."); }