Пример #1
0
        public async Task Run_prints_flags_twit_if_id_is_supplied()
        {
            var context = MiniTwitTestContext.CreateMiniTwitContext();

            context.Users.Add(new User
            {
                UserName     = "******",
                Email        = "*****@*****.**",
                PasswordHash = "abc123"
            });
            context.Messages.Add(new Message
            {
                AuthorId = 1,
                Text     = "fricking heck",
                Flagged  = 0,
            });
            context.SaveChanges();

            var p = new Program(context);
            await p.Run(new[] { "1" });

            //Assert output
            var actual = _output.ToString().Trim();

            Assert.Equal("Flagged post with id 1", actual);

            //Assert that the message has actually been flagged in db
            var messages = context.Messages.Where(m => m.Flagged == 1 && m.Id == 1);

            Assert.Equal(1, messages.Count());
        }
Пример #2
0
        public static MiniTwitTestContext CreateMiniTwitContext(
            [CallerMemberName] string testName    = "",
            [CallerFilePath] string testNamePart2 = ""
            )
        {
            var connection = new SqliteConnection("Datasource=:memory:");

            connection.Open();
            var options = new DbContextOptionsBuilder <MiniTwitContext>().UseSqlite(connection);
            var context = new MiniTwitTestContext(options.Options, connection);

            context.Database.EnsureCreated();
            return(context);
        }
Пример #3
0
        public async Task Run_prints_all_tweets_and_authors_if_i_flag_is_supplied()
        {
            var context = MiniTwitTestContext.CreateMiniTwitContext();

            context.Users.Add(new User
            {
                UserName     = "******",
                Email        = "*****@*****.**",
                PasswordHash = "abc123"
            });
            context.Messages.Add(new Message
            {
                AuthorId = 1,
                Text     = "hello world",
                Flagged  = 0,
                PubDate  = DateTime.Now.AddDays(2)
            });
            context.Messages.Add(new Message
            {
                AuthorId = 1,
                Text     = "foobar",
                Flagged  = 0,
                PubDate  = DateTime.Now.AddDays(1)
            });
            context.Messages.Add(new Message
            {
                AuthorId = 1,
                Text     = "fricking heck",
                Flagged  = 1,
                PubDate  = DateTime.Now.AddDays(0)
            });
            context.SaveChanges();


            var p = new Program(context);
            await p.Run(new[] { "-i" });

            var actual   = _output.ToString().Trim();
            var expected = new StringBuilder();

            expected.Append("1,1,hello world,0" + Environment.NewLine);
            expected.Append("2,1,foobar,0" + Environment.NewLine);
            expected.Append("3,1,fricking heck,1");
            Assert.Equal(expected.ToString(), actual);
        }