Faits :
A.
A.a. En juin 2010, B._ Ltd (ci-après: B._ ou l'acheteuse ou la défenderesse ou l'intimée), société anonyme de droit xxx, spécialisée notamment dans la commercialisation de machines destinées à la taille de diamants, a fait part à A._ SA, à... (ci-après: la venderesse, la demanderesse ou l'intimée) de son projet d'acquérir une machine produite par celle-ci avec système de laser à eau (Laser X._) afin de tester cette nouvelle technologie dans la découpe de diamants.
Après avoir testé cette machine et malgré les difficultés initiales rencontrées, B._ s'est déclarée satisfaite de ses performances.
Par la suite, elle a fait part à A._ de son projet de vendre ses propres machines de taille de diamants (" Y._ "), dans lesquelles serait intégré le système de découpe par laser à eau produit par A._.
A.b. Le 17 décembre 2010, les parties ont signé un contrat par lequel elles ont confirmé leur volonté de coopérer, notamment en ce sens que A._ devra livrer à B._ 285 kits d'intégration Laser X._ destinés à des prototypes de machines de B._ traitant le diamant. A._ a accordé à B._ un prix préférentiel par kit, dégressif en fonction du nombre de kits commandés. A défaut de commande de 100 kits dans les 30 premiers mois, B._ devrait rembourser la différence entre le prix de base et le prix préférentiel convenu.
Le 18 décembre 2010, B._ a commandé douze kits d'intégration, dont les deux premiers devaient être utilisés dans le but de développer les prototypes de machines " Y._ ".
Les deux premiers kits ont été expédiés par la venderesse le 7 avril 2011.
Le troisième kit a été expédié le 23 juin 2011.
L'acheteuse s'est acquittée de toutes les factures envoyées par la défenderesse.
A.c. Peu de temps après l'intégration des premiers kits dans les prototypes de machines, des problèmes sont survenus. Des ingénieurs de la venderesse se sont rendus sur le site de production de l'acheteuse. Le 4 juillet 2011, les parties ont discuté du statut des prototypes et des prochaines livraisons prévues, soit deux unités en juillet et trois en août.
Par courriel du 12 juillet 2011, l'acheteuse a demandé à la venderesse de stopper toute production ultérieure de kits, et ce jusqu'à ce que les problèmes techniques y relatifs soient résolus.
Par courrier du 10 août 2011, la venderesse a notamment informé l'acheteuse que la confirmation de commande pour les neuf kits restants commandés serait mise en attente.
L'acheteuse était disposée à passer la commande pour les neuf kits restants à condition que la venderesse résolve les problèmes techniques rencontrés jusqu'alors.
A.d. Le 2 janvier 2012, l'acheteuse a fait appel à la garantie bancaire émise en sa faveur au motif que la venderesse n'avait pas rempli ses obligations contractuelles. La banque lui a versé le montant de la garantie de 1'041'323 fr. 40.
L'acheteuse a fait valoir que les trois premiers kits n'avaient jamais atteint le stade auquel ils auraient pu être exploités de manière satisfaisante pour la taille de diamants.
La venderesse estimait avoir résolu les trois dysfonctionnements constatés et a reproché à l'acheteuse de ne pas s'être conformée à ses obligations contractuelles, en refusant de confirmer la commande de kits.
A.e. Le 20 mars 2012, la venderesse a mis en demeure l'acheteuse de confirmer la commande des neuf derniers kits, qui devaient être livrés pour l'année 2011, ainsi que des 25 kits prévus pour l'année 2012 et de lui restituer le montant de la garantie de 1'041'323 fr. 40.
Puis le 29 mai 2012, la venderesse a résilié le contrat avec effet immédiat.
B.
Le 5 octobre 2012, la venderesse a ouvert action contre l'acheteuse devant le Tribunal de première instance de Genève. Elle a fait valoir des dommages-intérêts pour inexécution du contrat d'un montant total de 3'592'375 fr., dont à déduire certains montants.
Le Tribunal de première instance a admis le montant total 2'904'000 fr., soit les postes suivants:
1) 744'000 fr. pour trois kits fabriqués et livrés (3 x 248'000 fr.)
2) 1'240'000 fr. pour cinq kits commandés, mais non livrés (5 x 248'000 fr.)
3) 920'000 fr. à titre de différence entre le prix usuel et le prix préférentiel appliqué, soit:
a) 650'000 fr. pour les cinq premiers kits (5 x [378'000 fr. - 248'000 fr.])
b) 270'000 fr. pour les trois kits suivants (3 x [338'000 fr. - 248'000 fr.]).
L'acheteuse ayant payé des montants, dont elle a récupéré une partie en faisant appel à la garantie bancaire, le Tribunal de première instance a déduit le montant de 819'000 fr. et un acompte versé pour le remplacement de pompes par 73'500 fr., de sorte qu'elle a condamné l'acheteuse à payer le montant de 2'011'500 fr.
Statuant le 2 février 2021, la Chambre civile de la Cour de justice du canton de Genève a examiné les postes de dommages, a considéré que le premier, correspondant aux trois kits livrés (744'000 fr.), était admis et elle a rejeté le deuxième correspondant, aux cinq kits commandés, mais non livrés, sous déduction du montant de 819'000 fr. de sorte qu'elle a condamné la défenderesse à payer à la demanderesse le montant de 195'000 fr. Quant à l'acompte de 73'500 fr., elle a considéré qu'il devait être traité séparément dès lors qu'il devait être assorti d'intérêts.
C.
Contre cet arrêt, qui lui a été notifié le 26 février 2021, la demanderesse a interjeté un recours en matière civile au Tribunal fédéral le 12 avril 2021, concluant à sa réforme en ce sens que la défenderesse soit condamnée à lui payer principalement le montant de 2'011'500 fr. avec intérêts, ce que lui avait alloué le Tribunal de première instance, et, subsidiairement, le montant de 900'000 fr. avec intérêts; plus subsidiairement, elle conclut à l'annulation de l'arrêt et au renvoi de la cause à la cour cantonale pour nouvelle décision dans le sens des considérants. En ce qui concerne les cinq kits commandés, mais non livrés, elle invoque l'omission de deux faits, une contradiction dans l'établissement d'un fait, l'appréciation arbitraire des preuves (sur 2 points), puis fait valoir à nouveau l'arbitraire dans la constatation des faits. Subsidiairement, à l'appui de sa conclusion tendant au paiement de 900'000 fr., elle invoque que les cinq kits ne pouvaient être réutilisés dans d'autres machines, et qu'en vertu de l'art. 215 CO applicable par analogie, elle n'aurait de toute façon pas eu l'obligation de revendre leurs composants.
L'acheteuse intimée conclut au rejet de la conclusion principale et à l'irrecevabilité de la conclusion subsidiaire.
Les parties ont encore déposé de brèves observations.
La cour cantonale se réfère aux considérants de son arrêt.
Considérant en droit :
1.
Interjeté en temps utile (art. 100 al. 1 LTF), dès lors que le 30 e jour échoit le premier jour des féries de Pâques et est reporté au premier jour utile après les féries (art. 45 al. 1 et 46 al. 1 let. a LTF; arrêt 4A_193/2018 du 27 juillet 2018 consid. 1 et les arrêts cités), soit au 12 avril 2021, par la partie demanderesse qui a succombé partiellement dans ses conclusions en paiement (art. 76 al. 1 LTF), contre une décision finale (art. 90 LTF) rendue sur appel par le tribunal supérieur du canton de Genève (art. 75 LTF) dans une affaire civile (art. 72 al. 1 LTF), dont la valeur litigieuse est d'au moins 30'000 fr. (art. 74 al. 1 let. b LTF), le recours en matière civile est recevable au regard de ces dispositions.
2.
2.1. Le Tribunal fédéral statue sur la base des faits établis par l'autorité précédente (art. 105 al. 1 LTF). Il ne peut s'en écarter que si ces faits ont été établis de façon manifestement inexacte - ce qui correspond à la notion d'arbitraire au sens de l'art. 9 Cst. (ATF 137 I 58 consid. 4.1.2; 137 II 353 consid. 5.1) - ou en violation du droit au sens de l'art. 95 LTF (art. 105 al. 2 LTF), et si la correction du vice est susceptible d'influer sur le sort de la cause (art. 97 al. 1 LTF).
Concernant l'appréciation des preuves, le Tribunal fédéral n'intervient, du chef de l'art. 9 Cst., que si le juge du fait n'a manifestement pas compris le sens et la portée d'un moyen de preuve, a omis sans raisons objectives de tenir compte des preuves pertinentes ou a effectué, sur la base des éléments recueillis, des déductions insoutenables (ATF 137 III 226 consid. 4.2; 136 III 552 consid. 4.2; 134 V 53 consid. 4.3).
La critique de l'état de fait retenu est soumise au principe strict de l'allégation énoncé par l'art. 106 al. 2 LTF (ATF 140 III 264 consid. 2.3 et les références). La partie qui entend attaquer les faits constatés par l'autorité précédente doit expliquer clairement et de manière circonstanciée en quoi ces conditions seraient réalisées (ATF 140 III 16 consid. 1.3.1 et les références). Si la critique ne satisfait pas à ces exigences, les allégations relatives à un état de fait qui s'écarterait de celui de la décision attaquée ne pourront pas être prises en considération (ATF 140 III 16 consid. 1.3.1). Les critiques de nature appellatoire sont irrecevables (ATF 130 I 258 consid. 1.3).
2.2. Les griefs doivent être présentés et motivés de manière complète dans le recours, respectivement, pour les griefs de l'intimé, dans la réponse au recours (art. 42 al. 1 LTF; ATF 140 III 86 consid. 2). Devant le Tribunal fédéral, il n'y a en règle générale qu'un seul échange d'écritures (art. 102 al. 3 LTF). Le recourant et l'intimé ne sauraient donc utiliser la réplique, respectivement la duplique pour compléter ou améliorer leurs griefs (ATF 135 I 19 consid. 2.2; arrêt 4A_93/2021 du 1er octobre 2021 consid. 2.3). Les griefs présentés pour la première fois dans la réplique, alors qu'ils auraient pu l'être dans le recours, sont donc tardifs et irrecevables.
3.
Dans son chef de conclusions principal, la demanderesse recourante réclame le montant de 2'011'500 fr., soit le montant que lui avait alloué le Tribunal de première instance.
Or, sur ce montant, la cour cantonale lui a alloué le premier poste de trois kits de 744'000 fr. et la différence de prix sur ceux-ci de 270'000 fr. (3 x 90'000 fr.), deux montants qui n'ont pas fait l'objet d'un recours de la partie défenderesse, de sorte qu'ils sont définitivement acquis à la demanderesse. En tant qu'elle reproche à la cour cantonale une contradiction dans l'établissement des faits et fait valoir que " le montant de 90'000 fr. par kit correspond au rabais de quantité... pour ces trois premiers kits ", on ne saurait s'écarter du montant de 90'000 fr. par kit ainsi réclamé par elle, même si, vu son calcul, ce n'est pas le montant de 90'000 fr. qui aurait dû être pris en considération pour ces trois premiers kits, mais bien celui de 3 x 130'000 fr., la différence de prix étant de 130'000 fr. (378'000 fr. - 248'000 fr.) pour ces premiers kits.
Sur le chef de conclusions principal, seuls demeurent donc litigieux le deuxième poste du montant de 1'240'000 fr. et le troisième poste, lettre a, du montant de 650'000 fr.
4.
En ce qui concerne le montant de 1'240'000 fr. pour cinq kits commandés et non livrés et le montant de 650'000 fr. correspondant à la différence de prix de ces cinq kits (telle que calculée par la cour cantonale), la cour cantonale les a rejetés par une triple motivation. La recourante soutient qu'il est arbitraire de retenir qu'elle n'aurait pas fabriqué ces cinq kits, invoquant successivement l'omission de deux faits, l'appréciation arbitraire de deux moyens de preuve, puis à nouveau l'arbitraire de la constatation qu'elle n'aurait pas apporté la preuve de leur fabrication. Il lui incombe donc de démontrer l'arbitraire par une motivation satisfaisant aux exigences de l'art. 106 al. 2 LTF.
La cour cantonale a adopté une triple motivation en cascade.
4.1. Premièrement, la cour cantonale a considéré que la demanderesse n'a pas apporté de preuve suffisante de la fabrication de ces cinq kits: le tableau invoqué par elle, qui récapitule les commandes passées pour les composants nécessaires à la fabrication de ces kits, n'est qu'un allégué de partie, qui n'est établi par aucune commande à des fournisseurs ou bulletins de livraison des composants; en outre, s'il fait état de commandes de matériel, ce tableau n'établit pas encore que des kits ont été assemblés; enfin, certaines pièces n'ont été réceptionnées qu'après que l'acheteuse a demandé à la venderesse de stopper toute production des kits commandés jusqu'à ce que les problèmes techniques soient résolus. Cela signifie qu'à cette date, l'intégralité des kits ne pouvait avoir été assemblée.
Contrairement à ce que soutient la recourante, la cour cantonale a bien pris en considération ce tableau, mais a considéré qu'il ne prouvait pas la fabrication en tant que telle des cinq kits, puisque la commande même de leurs composants n'était pas établie et que certaines pièces n'avaient été réceptionnées par elle qu'après le 12 juillet 2011, date à laquelle la défenderesse avait demandé de stopper toute production de nouveaux kits. Or, la recourante ne démontre pas l'arbitraire de cette constatation lorsqu'elle se limite à affirmer, en se référant au premier jugement, que, selon son représentant, elle entamait le processus de fabrication dès que le calendrier de livraison était établi. Il en va de même lorsqu'elle affirme avoir stocké les kits fabriqués dans son dépôt, fait qui n'est étayé par aucun témoignage, ni aucune pièce. Ce n'était pas à la cour cantonale de " creuser la question ", mais bien à elle d'apporter la preuve certaine de la fabrication des kits avant le 12 juillet 2011.
Comme on le verra (cf. consid. 4.2 ci-dessous), la cour cantonale a répondu dans sa seconde motivation à l'argument de la demanderesse selon lequel elle ne pouvait pas annuler une commande de composants faite auprès de fournisseurs juste avant la livraison. La recourante n'apporte aucun élément supplémentaire susceptible de démontrer l'arbitraire, lorsqu'elle affirme que la cour cantonale aurait commis l'arbitraire en s'écartant du jugement de première instance.
Enfin, lorsque la recourante invoque en réplique, que la haute vraisemblance serait applicable à la preuve de la fabrication des cinq kits, que la défenderesse n'aurait pas contesté dans sa réponse en première instance que les cinq kits auraient été produits, qu'elle n'a pas contesté non plus l'exactitude du tableau, produit en pièce 52, les griefs de celle-ci, fussent-ils pertinents, sont tardifs et ne peuvent être pris en considération (cf. consid. 2.2).
4.2. Dans sa deuxième motivation, la cour cantonale retient que la demanderesse recourante ne subit pas de dommage du fait de la commande (prétendue) du matériel nécessaire à la fabrication des 5 kits litigieux car les composants commandés dans ce but ont pu (ou auraient pu) être utilisés pour la fabrication de machines destinées à ses autres clients, puisqu'elle a livré 30 à 50 machines au marché xxx, machines qui utilisaient, avec succès, les mêmes composants que ceux qui devaient équiper les kits de l'acheteuse.
La recourante ne s'en prend pas directement à cette motivation, ne tentant pas de démontrer qu'il ne pouvait être retenu que les composants commandés pouvaient être utilisés dans d'autres machines destinées à d'autres clients. Tout au plus fait-elle valoir, à l'appui de son chef de conclusions subsidiaire, qui sera déclaré irrecevable (cf. consid. 5 ci-dessous), que les kits - et non les composants - n'étaient pas des objets de séries, mais des kits réalisés spécifiquement pour être intégrés dans les machines de la défenderesse et qu'ils n'étaient donc pas réutilisables en tant que tels dans d'autres machines. Dans la mesure où il présuppose une fabrication des cinq kits, qui, comme on vient de le voir (consid. 4.1), a été écartée, sans arbitraire, par la cour cantonale, ce grief est dénué de fondement.
4.3. Enfin, dans sa troisième motivation, la cour cantonale considère que, même si la responsabilité contractuelle de la défenderesse était engagée et même si la demanderesse n'avait pas utilisé le matériel commandé pour d'autres clients, cette circonstance pourrait lui être opposée sur la base de l'art. 44 CO (art. 99 al. 3 CO), dans la mesure où il lui appartenait de prendre les mesures raisonnables aptes à empêcher la survenance du dommage (ne pouvant se contenter de stocker les kits dans ses dépôts et attendre qu'ils deviennent obsolètes).
La recourante ne s'en prend pas non plus directement à cette troisième motivation. Comme ni la constatation que les cinq kits n'ont pas été fabriqués, ni la constatation que la venderesse aurait pu utiliser les composants pour d'autres machines destinées à d'autres clients, n'ont été déclarés arbitraires, il est superflu d'examiner ce point, que d'ailleurs la recourante invoque à l'appui de son chef de conclusions subsidiaire.
5.
A l'appui de son chef de conclusions subsidiaire en paiement de 900'000 fr. avec intérêts, la recourante fait valoir que, pour ces mêmes cinq kits commandés et non livrés, elle aurait droit à être indemnisée au moins à hauteur de sa marge, qu'elle évalue à 50% du prix et, vu les prix dégressifs en fonction de la quantité commandée, qu'elle arrête à la moyenne de 180'000 fr. par kit (moyenne entre le prix le plus haut et le prix le plus bas selon l'annexe 3 du contrat) et donc à 900'000 pour cinq kits (5 x 180'000 fr.).
Ce chef de conclusions n'est pas clair: à l'appui de son chef de conclusions principal, la recourante reprend la différence de prix qu'elle réclamait pour huit kits et désormais, dans son chef de conclusions subsidiaire, elle ne réclame 900'000 fr. que pour cinq kits. La Cour de céans peut toutefois se dispenser d'éclaircir cette question.
En effet, la recourante propose un tout nouveau calcul, qui ne ressort pas de l'arrêt cantonal et qu'elle ne précise pas avoir fait valoir en instance d'appel cantonale. Il est donc irrecevable (art. 75 LTF; ATF 143 III 90 consid. 1.1; arrêt 4A_40/2021 du 10 juin 2021 consid. 3.2) et, avec lui, le chef de conclusions subsidiaire qu'il est censé justifier. Il n'y a donc pas lieu d'examiner la prétendue violation de l'art. 215 CO, dont l'application par analogie est invoquée.
6.
Il s'ensuit que le recours doit être rejeté dans la faible mesure de sa recevabilité, aux frais et dépens de son auteur (art. 66 al. 1 et 68 al. 1 LTF).
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
Les frais judiciaires, arrêtés à 17'000 fr., sont mis à la charge de la recourante.
3.
La recourante versera à l'intimée une indemnité de 19'000 fr. à titre de dépens.
4.
Le présent arrêt est communiqué aux mandataires des parties et à la Chambre civile de la Cour de justice du canton de Genève.
Lausanne, le 18 janvier 2022
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Présidente : Hohl
Le Greffier : Botteron