コード例 #1
0
        public void SaveItemCommand_CanSave_NullConstraintsNotMet()
        {
            var fakeUnit = new EquipmentUnitType
            {
                name = "Test Trailer"
            };

            Assert.That(fakeUnit.IsChanged, nameof(fakeUnit.IsChanged), Is.True);
            Assert.That(fakeUnit.name, Is.EqualTo("Test Trailer"));
            Assert.That(fakeUnit.displayName, Is.EqualTo(fakeUnit.name));

            var cmd = new SaveItemCommand();

            Assert.NotNull(cmd, nameof(SaveItemCommand));

            // description and unitCode are both null, so can't save yet
            Assert.IsFalse(cmd.CanExecute(fakeUnit));

            fakeUnit.description = "My Description";
            Assert.IsFalse(cmd.CanExecute(fakeUnit));

            fakeUnit.unitCode = "T";
            Assert.IsTrue(cmd.CanExecute(fakeUnit));

            fakeUnit.AcceptChanges();
            Assert.IsFalse(cmd.CanExecute(fakeUnit));
        }
コード例 #2
0
        public void SaveItemCommand_DoSave_ManyToMany()
        {
            var fakeUnit = new EquipmentUnitType
            {
                name        = "Test Trailer",
                description = "My Description",
                unitCode    = "T"
            };

            Assert.That(fakeUnit.IsChanged, nameof(fakeUnit.IsChanged), Is.True);
            Assert.That(fakeUnit.name, Is.EqualTo("Test Trailer"));
            Assert.That(fakeUnit.displayName, Is.EqualTo(fakeUnit.name));

            var cmd = new SaveItemCommand();

            Assert.NotNull(cmd, nameof(SaveItemCommand));

            fakeUnit.unitCode = "T";
            Assert.IsTrue(cmd.CanExecute(fakeUnit));

            var fakeSite = new SiteLocation
            {
                name      = "My Site",
                locSuffix = "My"
            };

            Assert.That(fakeSite.IsChanged, nameof(fakeSite.IsChanged), Is.True);
            Assert.That(fakeSite.name, Is.EqualTo("My Site"));

            fakeSite.equipmentUnitTypesAvailable.Add(fakeUnit);
            Assert.IsTrue(cmd.CanExecute(fakeSite));

            cmd.Execute(fakeSite);
            Assert.IsFalse(cmd.CanExecute(fakeSite));
            Assert.IsFalse(cmd.CanExecute(fakeUnit));

            var db = DataRepository.GetDataRepository;
            var fakeSiteReplica = db.Load <SiteLocation>(fakeSite.PrimaryKey);

            Assert.NotNull(fakeSiteReplica, nameof(fakeSiteReplica));
            Assert.That(fakeSiteReplica.equipmentUnitTypesAvailable.Count, Is.GreaterThan(0));

            // note that must delete site first to remove mappings otherwise will fail due to mapping fk constraints
            db.Delete(fakeSite);
            db.Delete(fakeUnit);
        }