コード例 #1
0
        public void Run_WhenLatestItemNotFound_ShouldReturnContextItem()
        {
            //arrange
            Item fakeContextItem = ItemHelper.CreateItem("CAD", string.Empty);

            fakeContextItem.setProperty("gag_migration_edit_flag", "1");
            fakeContextItem.setProperty("config_id", GenerateConfigId());
            fakeContextItem.setNewID();

            Item errorItem = ItemHelper.CreateItem(string.Empty, string.Empty);

            errorItem.loadAML(EmptyResult);

            IDataAccessLayer fakeDal = Substitute.For <IDataAccessLayer>();

            fakeDal.NewItem(Arg.Any <string>(), Arg.Any <string>()).Returns(ItemHelper.CreateItem("CAD", string.Empty));
            fakeDal.ApplyItem(Arg.Any <Item>()).Returns(errorItem);
            var testClass = new TestClass(fakeDal);

            //act
            Item actualItem = testClass.Run(fakeContextItem);

            //assert
            Assert.AreEqual(actualItem.getID(), fakeContextItem.getID());
        }
コード例 #2
0
        public void Run_WhenContextItemHasDifferentFlagValue_ShouldThrowItemException()
        {
            //arrange
            const string expectedError   = "The property gag_migration_edit_flag cannot be changed";
            Item         fakeContextItem = ItemHelper.CreateItem("CAD", string.Empty);

            fakeContextItem.setProperty("gag_migration_edit_flag", "0");
            fakeContextItem.setProperty("config_id", GenerateConfigId());

            Item fakeLatestItem = ItemHelper.CreateItem("CAD", string.Empty);

            fakeLatestItem.setProperty("gag_migration_edit_flag", "1");
            fakeLatestItem.setProperty("config_id", GenerateConfigId());

            IDataAccessLayer fakeDal = Substitute.For <IDataAccessLayer>();

            fakeDal.ApplyItem(Arg.Any <Item>()).Returns(fakeLatestItem);
            fakeDal.NewItem(Arg.Any <string>(), Arg.Any <string>()).Returns(ItemHelper.CreateItem("CAD", string.Empty));

            var testClass = new TestClass(fakeDal);
            //act
            //assert
            ItemException exception   = Assert.Throws <ItemException>(() => testClass.Run(fakeContextItem));
            string        actualError = exception.Message;

            Assert.AreEqual(actualError, expectedError);
        }