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)); }
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); }