liaoxujun@qq.com
2024-02-19 c32275f697e1541694836c47e1682e3291673dbc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
using Microsoft.AspNetCore.Mvc;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using WalkingTec.Mvvm.Core;
using cy_scdz.Controllers;
using cy_scdz.ViewModel.HomeVMs;
using cy_scdz.DataAccess;
using WalkingTec.Mvvm.Mvc;
using WalkingTec.Mvvm.Mvc.Admin.ViewModels.FrameworkUserVms;
 
namespace cy_scdz.Test
{
    [TestClass]
    public class LoginControllerTest
    {
        private LoginController _controller;
        private string _seed;
 
        public LoginControllerTest()
        {
            _seed = Guid.NewGuid().ToString();
            _controller = MockController.CreateController<LoginController>(new DataContext(_seed, DBTypeEnum.Memory), "user");
        }
 
        public void LoginTest()
        {
            ViewResult rv = (ViewResult)_controller.Login();
            Assert.IsInstanceOfType(rv.Model, typeof(LoginVM));
 
            FrameworkUser v = new FrameworkUser();
            using (var context = new DataContext(_seed, DBTypeEnum.Memory))
            {
                v.ITCode = "itcode";
                v.Name = "name";
                v.Password = Utils.GetMD5String("password");
                v.IsValid = true;
                context.Set<FrameworkUser>().Add(v);
                context.SaveChanges();
            }
 
            LoginVM vm = rv.Model as LoginVM;
            vm.ITCode = "itcode";
            vm.Password = "password";
            vm.VerifyCode = "abcd";
            _controller.HttpContext.Session.Set("verify_code","abcd");
            var rv2 = _controller.Login(vm);
 
            Assert.AreEqual(_controller.Wtm.LoginUserInfo.ITCode, "itcode");
        }
 
        [TestMethod]
        public void ChangePassword()
        {
            FrameworkUser v = new FrameworkUser();
            using (var context = new DataContext(_seed, DBTypeEnum.Memory))
            {
                v.ITCode = "user";
                v.Name = "name";
                v.Password = Utils.GetMD5String("password");
                v.IsValid = true;
                context.Set<FrameworkUser>().Add(v);
                context.SaveChanges();
            }
 
            PartialViewResult rv = (PartialViewResult)_controller.ChangePassword();
            Assert.IsInstanceOfType(rv.Model, typeof( ChangePasswordVM));
 
            ChangePasswordVM vm = rv.Model as ChangePasswordVM;
            vm.ITCode = "user";
            vm.OldPassword = "password";
            vm.NewPassword = "p1";
            vm.NewPasswordComfirm = "p1";
            var rv2 = _controller.ChangePassword(vm);
 
            using (var context = new DataContext(_seed, DBTypeEnum.Memory))
            {
                var u = context.Set<FrameworkUser>().FirstOrDefault();
                Assert.AreEqual(u.Password, Utils.GetMD5String("p1"));
            }
 
            Assert.IsInstanceOfType(rv2, typeof(FResult));
        }
 
    }
 
}