コード例 #1
0
        public async Task TestUpdate()
        {
            var mockUserSet = IMUow.Repository <User>().GetListAsync(UserDtos.InMemoryList());

            mockContext.Setup(m => m.Set <User>()).Returns(mockUserSet.Object);

            var mockUow = new Mock <EntityUnitofWork <Guid> >(mockContext.Object);

            _emailService = new EmailService();
            _userService  = new UserService(mockUow.Object, _emailService);

            var result = await _userService.Update(UserDtos.UpdateDto(),
                                                   UserDtos.InMemoryList().First().Id, true, true);

            if (result.Message != Messages.Ok)
            {
                Assert.Inconclusive(result.Message);
            }

            Assert.AreEqual(
                UserDtos.UpdateDto().Name,
                mockUserSet.Object.FirstOrDefault(x => x.Id == Guid.Parse(result.Data.ToString())).Name);

            Assert.AreEqual(
                UserDtos.UpdateDto().Phone,
                mockUserSet.Object.FirstOrDefault(x => x.Id == Guid.Parse(result.Data.ToString())).Phone);

            mockUow.Verify(m => m.SaveChangesAsync(), Times.Once);
        }
コード例 #2
0
        public async Task TestAutoCodeGenerate()
        {
            //Context has been overriding and an in-memory autocode data has been added.
            var mockAutoCodeSet = IMUow.Repository <AutoCode>().GetListAsync(AutoCodeDtos.InMemoryList());

            mockContext.Setup(m => m.Set <AutoCode>()).Returns(mockAutoCodeSet.Object);

            //Context has been overriding and add mocked AutoCodeLog DbSet.
            var mockAutoCodeLogSet = new Mock <DbSet <AutoCodeLog> >();

            mockContext.Setup(m => m.Set <AutoCodeLog>()).Returns(mockAutoCodeLogSet.Object);

            //Unit of work has been mocked. Mock context sent to constructor. Services works with mocked unit of work.
            var mockUow = new Mock <EntityUnitofWork <Guid> >(mockContext.Object);

            _autoCodeLogService = new AutoCodeLogService(mockUow.Object);
            _autoCodeService    = new AutoCodeService(mockUow.Object, _autoCodeLogService);

            var result = await _autoCodeService.AutoCodeGenerate(
                AutoCodeDtos.ScreenCodeForAutomaticCodeGenerationTest, UserDtos.InMemoryList().First().ID);

            //Is the expected code the same as the generated code?
            Assert.AreEqual("CF-143-UT", result);

            //Has the last code number increased?
            Assert.AreEqual(
                143,
                mockAutoCodeSet.Object.
                FirstOrDefault(x => x.ScreenCode == AutoCodeDtos.ScreenCodeForAutomaticCodeGenerationTest).LastCodeNumber);

            mockAutoCodeLogSet.Verify(m => m.Add(It.IsAny <AutoCodeLog>()), Times.Once);
            mockUow.Verify(m => m.SaveChangesAsync(), Times.Once);
        }
コード例 #3
0
        public async Task TestDuplicateUser()
        {
            //Context has been overriding and an in-memory user has been added.
            var mockUserSet = IMUow.Repository <User>().GetListAsNoTrackingAsync(UserDtos.InMemoryList());

            mockContext.Setup(m => m.Set <User>()).Returns(mockUserSet.Object);

            //Unit of work has been mocked. Mock context sent to constructor. Services works with mocked unit of work.
            var mockUow = new Mock <EntityUnitofWork <Guid> >(mockContext.Object);

            _emailService = new EmailService();
            _userService  = new UserService(mockUow.Object, _emailService);

            var result = await _userService.Register(UserDtos.DuplicateUserDto(),
                                                     UserDtos.InMemoryList().First().Id);

            Assert.AreEqual(result.Message, Messages.GNE0003);
        }
コード例 #4
0
        public async Task TestRegister()
        {
            //Context has been overriding and an in-memory user has been added.
            var mockUserSet = IMUow.Repository <User>().GetListAsNoTrackingAsync(UserDtos.InMemoryList());

            mockContext.Setup(m => m.Set <User>()).Returns(mockUserSet.Object);

            //Unit of work has been mocked. Mock context sent to constructor. Services works with mocked unit of work.
            var mockUow = new Mock <EntityUnitofWork <Guid> >(mockContext.Object);

            _emailService = new EmailService();
            _userService  = new UserService(mockUow.Object, _emailService);

            var result = await _userService.Register(UserDtos.RegisterDto(),
                                                     UserDtos.InMemoryList().First().Id);

            if (result.Message != Messages.Ok)
            {
                Assert.Inconclusive(result.Message);
            }

            mockUserSet.Verify(m => m.Add(It.IsAny <User>()), Times.Once);
            mockUow.Verify(m => m.SaveChangesAsync(), Times.Once);
        }