예제 #1
0
        public void GetTop_ShouldReturnInstanceOfIQueryable()
        {
            // Arrange
            var mockedRepository = new Mock <IRepository <RemunerationBill> >();

            var billService = new RemunerationBillService(mockedRepository.Object);

            RemunerationBill mockedBill  = new FakeRemunerationBill();
            RemunerationBill mockedBill2 = new FakeRemunerationBill();
            RemunerationBill mockedBill3 = new FakeRemunerationBill();

            mockedBill.Id  = 2;
            mockedBill2.Id = 3;
            mockedBill3.Id = 4;

            // Act
            billService.Create(mockedBill);
            billService.Create(mockedBill2);
            billService.Create(mockedBill3);

            var query = billService.GetTop(3);

            // Assert
            Assert.IsInstanceOf <IQueryable <RemunerationBill> >(query);
        }
예제 #2
0
        public void GetTop_ShouldInvokeOnlyOnce()
        {
            // Arrange
            var mockedRepository = new Mock <IRepository <RemunerationBill> >();

            var billService = new RemunerationBillService(mockedRepository.Object);

            RemunerationBill mockedBill  = new FakeRemunerationBill();
            RemunerationBill mockedBill2 = new FakeRemunerationBill();
            RemunerationBill mockedBill3 = new FakeRemunerationBill();

            mockedBill.Id  = 2;
            mockedBill2.Id = 3;
            mockedBill3.Id = 4;

            // Act
            billService.Create(mockedBill);
            billService.Create(mockedBill2);
            billService.Create(mockedBill3);

            billService.GetTop(3);

            // Assert
            mockedRepository.Verify(r => r.All, Times.Once);
        }
예제 #3
0
        public void Create_ShouldThrowArgumentNullException_WhenParameterIsNull()
        {
            // Arrange
            var mockedRepository = new Mock <IRepository <RemunerationBill> >();

            var billService = new RemunerationBillService(mockedRepository.Object);

            // Act & Assert
            Assert.That(() => billService.Create(null), Throws.InstanceOf <ArgumentNullException>().With.Message.Contains("The argument is null"));
        }
예제 #4
0
        public void Create_ShouldInvokeOnce_WhenParameterIsCorrect()
        {
            // Arrange
            var mockedRepository = new Mock <IRepository <RemunerationBill> >();

            var billService = new RemunerationBillService(mockedRepository.Object);

            var mockedBill = new FakeRemunerationBill();

            // Act
            billService.Create(mockedBill);

            // Assert
            mockedRepository.Verify(r => r.Add(mockedBill), Times.Once);
        }
예제 #5
0
        public void Delete_ShouldInvokeOnce_WhenValidId_IsPassedCorrectly()
        {
            // Arrange
            var mockedRepository = new Mock <IRepository <RemunerationBill> >();

            var billService = new RemunerationBillService(mockedRepository.Object);

            RemunerationBill bill = new FakeRemunerationBill();

            bill.Id = 2;

            // Act
            billService.Create(bill);
            billService.DeleteById(2);

            // Assert
            mockedRepository.Verify(r => r.Delete(It.IsAny <int>()), Times.Once);
        }
예제 #6
0
        public void GetById_ShouldInvokeOnlyOnce()
        {
            // Arrange
            var mockedRepository = new Mock <IRepository <RemunerationBill> >();

            var billService = new RemunerationBillService(mockedRepository.Object);

            var mockedBill = new FakeRemunerationBill();

            mockedBill.Id = 2;

            // Act
            billService.Create(mockedBill);

            billService.GetById(mockedBill.Id);

            // Assert
            mockedRepository.Verify(r => r.GetById(mockedBill.Id), Times.Once);
        }