Esempio n. 1
0
        public async Task TestAdd()
        {
            var appService = new Mock <IAppService>();
            var logService = new Mock <ISysLogService>();

            var ctl = new AppController(appService.Object, logService.Object);

            Assert.ThrowsException <ArgumentNullException>(() => {
                ctl.Add(null).GetAwaiter().GetResult();
            });

            appService.Setup(s => s.GetAsync("01")).ReturnsAsync(new App());
            var result = await ctl.Add(new AppVM
            {
                Id = "01"
            });

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(JsonResult));
            var jr = result as JsonResult;

            Assert.IsNotNull(jr.Value);
            Assert.IsTrue(jr.Value.ToString().Contains("应用Id已存在,请重新输入"));
            App nullApp = null;

            appService.Setup(s => s.GetAsync("02")).ReturnsAsync(nullApp);
            appService.Setup(s => s.AddAsync(It.IsAny <App>())).ReturnsAsync(false);
            result = await ctl.Add(new AppVM
            {
                Id = "02"
            });

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(JsonResult));
            jr = result as JsonResult;
            Assert.IsNotNull(jr.Value);
            Assert.IsTrue(jr.Value.ToString().Contains("新建应用失败,请查看错误日志"));

            appService.Setup(s => s.AddAsync(It.IsAny <App>())).ReturnsAsync(true);
            appService.Setup(s => s.AddAsync(It.IsAny <App>(), It.IsAny <List <AppInheritanced> >())).ReturnsAsync(true);

            result = await ctl.Add(new AppVM
            {
                Id = "02"
            });

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(JsonResult));
            jr = result as JsonResult;
            Assert.IsNotNull(jr.Value);
            Assert.IsFalse(jr.Value.ToString().Contains("新建应用失败,请查看错误日志"));
        }