/// <summary> /// Scenario0: Base Scenario InMemory Database /// Should work for a wide range of unit tests /// </summary> /// <returns></returns> private static SupportTicketDbContext GetTestDbContextScenario0() { var options = new DbContextOptionsBuilder <SupportTicketDbContext>() .UseInMemoryDatabase(databaseName: "GetActiveTicketsReturnsTickets") .Options; var ctx = new SupportTicketDbContext(options); ctx.Tickets.Add(GetNewTicketStubEntity(1)); ctx.Tickets.Add(GetNewTicketStubEntity(2)); ctx.Tickets.Add(GetNewTicketStubEntity(3)); ctx.SaveChanges(); return(ctx); }
public void GetTicketsReturnsTicket() { SupportTicketDbContext ctx = GetTestDbContextScenario0(); try { var repo = new SQLRepo(ctx); var result = repo.GetTicket(1); Assert.IsType <Ticket>(result); result.ShouldDeepEqual(ctx.Tickets.FirstOrDefault()); } finally { ctx.Database.EnsureDeleted(); } }
public void AddTicket() { SupportTicketDbContext ctx = GetTestDbContextScenario0(); var newTicket = GetNewTicketStubEntity(999); try { var repo = new SQLRepo(ctx); var result = repo.AddTicket(newTicket); Assert.IsType <Ticket>(result); result.ShouldDeepEqual(newTicket); } finally { ctx.Database.EnsureDeleted(); } }
public void UpdateTicketUpdatesSuccessfully() { SupportTicketDbContext ctx = GetTestDbContextScenario0(); var ticket = ctx.Tickets.First(); const string updatedValue = "Problem Updated"; try { var repo = new SQLRepo(ctx); ticket.Problem = updatedValue; var result = repo.UpdateTicket(ticket); Assert.IsType <Ticket>(result); result.ShouldDeepEqual(ctx.Tickets.FirstOrDefault()); } finally { ctx.Database.EnsureDeleted(); } }