コード例 #1
0
        /// <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);
        }
コード例 #2
0
        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();
            }
        }
コード例 #3
0
        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();
            }
        }
コード例 #4
0
        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();
            }
        }