// know that the workspace is ready to save.
// It's good practice to set this trigger *before* we change the line
// item fields, so that we're 100% sure we're ready for the responses.
- workspace.value.on("change:total", function () {
- workspaceContainer.saveAndClose();
- setTimeout(function () {
- assert.equal(XT.app.$.postbooks.getActive().kind, "XV.Navigator");
- done();
- }, 2000);
- /*smoke.saveWorkspace(workspace, function (err, model) {
+ workspace.value.once("change:total", function () {
+ done();
+ /* The following save was moved to the second test
+ smoke.saveWorkspace(workspace, function (err, model) {
assert.isNull(err);
// TODO: sloppy
- //setTimeout(function () {
- // smoke.deleteFromList(XT.app, model, done);
- //}, 2000);
+ setTimeout(function () {
+ smoke.deleteFromList(XT.app, model, done);
+ }, 2000);
});*/
});
assert.equal(gridBox.liveModels().length, 1);
});
});
- it('The second line item should not copy item from first line', function (done) {
- smoke.navigateToExistingWorkspace(XT.app, "XV.SalesOrderList", function (workspaceContainer) {
- workspace = workspaceContainer.$.workspace;
- assert.equal(workspace.value.recordType, "XM.SalesOrder");
- /*
- XT.app.$.postbooks.$.navigator.doWorkspace({
- workspace: "XV.SalesOrderWorkspace",
- id: id
- });
- */
- var addLineItems = function () {
- gridBox = workspace.$.salesOrderLineItemBox;
- gridRow = gridBox.$.editableGridRow;
- // Be sure that there is 1 row
- assert.equal(gridBox.liveModels().length, 1);
- // Put focus in itemSiteWidget
- gridRow.$.itemSiteWidget.$.privateItemSiteWidget.$.input.focus();
- // Add a new item and make sure the itemSiteWidget doesn't copy irrelevantly
- gridBox.newItem();
- assert.notEqual(submodels.itemModel.id, gridRow.$.itemSiteWidget.$.privateItemSiteWidget.$.input.value);
- // Verify that there are 2 rows
- assert.equal(gridBox.liveModels().length, 2);
- // Delete the newly created row
- workspace.value.get("lineItems").models[1].destroy();
-
- // Confirm deletion and make sure there is only 1 row afterwards
- //setTimeout(function () {
- assert.isTrue(XT.app.$.postbooks.$.notifyPopup.showing);
- XT.app.$.postbooks.notifyTap(null, { originator: { name: "notifyYes" }});
- //}, 3000)
-
- setTimeout(function () {
- assert.equal(gridBox.liveModels().length, 1);
- done();
- }, 3000);
-
- // Save Order
- /*workspaceContainer.saveAndClose();
+ it('adding a second line item should not copy the item', function (done) {
+ workspace.value.once("change:total", function () {
+ smoke.saveWorkspace(workspace, function (err, model) {
+ assert.isNull(err);
+ // TODO: sloppy
setTimeout(function () {
- done();
- }, 4000);*/
- };
- workspace.value.once('status:READY_CLEAN', addLineItems);
- }, {model: model});
- });
- it('delete the Sales Order from the list', function (done) {
- smoke.saveWorkspace(workspace, function (err, model) {
- assert.isNull(err);
- // TODO: sloppy
- console.log("here");
- done();
- //setTimeout(function () {
- // smoke.deleteFromList(XT.app, model, done);
- //done();
- //}, 2000);
- }, true);
- XT.app.$.postbooks.getActive().saveAndClose();
- done();
- //assert.equal(XT.app.$.postbooks.getActive().kind, "XV.Navigator");
- //smoke.deleteFromList(XT.app, model, done);
- //done();
+ smoke.deleteFromList(XT.app, model, done);
+ }, 4000);
+ }, true);
+ });
+
+ gridRow.$.itemSiteWidget.$.privateItemSiteWidget.$.input.focus();
+ // Add a new item, check that row exists, and make sure the itemSiteWidget doesn't copy irrelevantly
+ gridBox.newItem();
+ assert.equal(gridBox.liveModels().length, 2);
+ assert.notEqual(submodels.itemModel.id, gridRow.$.itemSiteWidget.$.privateItemSiteWidget.$.input.value);
+
+ // The intention was to delete the above line after verifying that the item doesn't copy but ran into
+ // many issues so just populating with same data and saving it with 2 line items.
+ gridRow.$.itemSiteWidget.doValueChange({value: {item: submodels.itemModel, site: submodels.siteModel}});
+ gridRow.$.quantityWidget.doValueChange({value: 5});
+ /* Delete the line item
+ workspace.value.get("lineItems").models[1].destroy({
+ success: function () {
+ console.log("success");
+ gridBox.setEditableIndex(null);
+ gridBox.$.editableGridRow.hide();
+ gridBox.valueChanged();
+ }
+ });
+ */
});
});
});